掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ウォッチドッグタイマーの実装方法 (ID:103283)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ここは VB2-VB6専用 の掲示板です。 VB.NET の場合は隣の掲示板を利用してください。 とりあえず一般論として: ・Main メソッドは、一般的にはスタートアッププロシージャー (エントリーポイント)として利用される名前のため、 呼び出し先メソッド名を "Main" とするのは好ましくありません。 ・UIスレッドのイベント(Form_Load 等)に時間のかかる処理を記述しない。 > である処理(Hoge.main) > > Private Sub Form1_Load(ByVal sender ・・・・・ > Hoge.Main() > > Public Class test > Public Shared Sub Main() 「hoge.Main」「Hoge.Main」と 「test.Main」の関係が説明されていません。 > 安全に終了処理させる仕方が判りません。 ループ処理内に、逐次経過時間による「タイムアウト」を判定文を入れて 1分を越えたらループ処理を打ち切るような実装もあれば、 ループ処理部を別スレッドにしておき、メインスレッドから打ち切り要請を 発行するパターン(BackgroundWorker.CancelAsync メソッドなど)、あるいは ワーカースレッドを 1 分後に Abort する方法などが思いつきますが、 何をもって「安全な終了」とするのかは、ケースバイケースですよね。 たとえば終了時には、ロールバック処理、各種APIハンドルの解放処理、 一時ファイルの削除等々が必要になるようなケースも考えられますが、 どんな処理を行っているのか分からないので、何とも言えないです。 > がごく稀にフリーズしてので 「処理に時間がかかっているだけ」なのか「デッドロック」なのかなど、 そのそれぞれに応じて対応策も変わってきますよね。 どの段階でフリーズしてしまうのか(どこまでは正常動作していたのか)を ログ出力等で確認されましたか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.