UIをロックしないように、何らかの処理を行うためのスレッドを作成するマルチスレッドプロセスを設計しています。ただし、このスレッドが完了すると(エラーなしで正常に完了する場合)、UIを適切に更新するメソッドをUIスレッドで実行できるようにイベントが必要です。
どうすればこれを正しく達成できますか?
スレッドの簡単なコード:
Thread t = new Thread(new ThreadStart(GetAppUpdates));
t.Start();
スレッドがいつ完了するかを知る必要がありますが、UIの遅延が発生するため、スレッドの状態を常にチェックするコードを実装したくないと感じています。
(これはbackgroundworkerを使用すると簡単になることはわかっていますが、このスレッドをバックグラウンドにすることはできないため、このプロセスにbackgroundworkerは必要ありません)。
スレッドオブジェクトが完了したときにイベントをトリガーする方法はありますか?ThreadFinished()イベントを実行するための最良の方法は何ですか?スレッドが正常に完了した後、メインUIで実行する必要のあるコードがあります。