フォルダーから空のファイルを継続的に読み取るスレッドが必要な WPF アプリケーションを作成しています (ファイル名には pid とプロセスの名前と一意のプラン名が含まれています)、pid が同じプロセス名であることを確認する必要がありますシステムに存在しません。
クラッシュしてシステムに存在しないプロセスをスレッドが見つけた場合、終了せずにプラン名をメイン UI スレッドに送信し、作業を続行する必要があります。
1部を実施しました。しかし、 2 部分を実装する方法がわかりません。
フォルダーから空のファイルを継続的に読み取るスレッドが必要な WPF アプリケーションを作成しています (ファイル名には pid とプロセスの名前と一意のプラン名が含まれています)、pid が同じプロセス名であることを確認する必要がありますシステムに存在しません。
クラッシュしてシステムに存在しないプロセスをスレッドが見つけた場合、終了せずにプラン名をメイン UI スレッドに送信し、作業を続行する必要があります。
1部を実施しました。しかし、 2 部分を実装する方法がわかりません。
「メイン スレッドに送信する」とは、通常、メイン スレッドの Dispatcher を使用し、メイン (UI) スレッドで実行されるデリゲートを呼び出すInvoke
か、またはマーシャリングすることを意味します。BeginInvoke
必要に応じて、これを使用して「プラン名」をメイン スレッドのコレクションに戻すことができます。
これを行うには、クラッシュしたプロセスの詳細を含む共有コレクションを作成します。次に、設定された間隔でコレクションをポーリングしてコレクションに何が含まれているかを確認するUIタイマーを作成します。このスキームでは、コレクションからの誤った読み取りを防ぐために、明らかに何らかのロック(おそらくReaderWriterLock)が必要になります。