その中の関数を呼び出すための新しいスレッドを作成しています。
Thread th = new Thread(My_Function);
th.start();
このスレッドの実行が完了したら、何かしたいです。
これを行う方法はありますか?
その中の関数を呼び出すための新しいスレッドを作成しています。
Thread th = new Thread(My_Function);
th.start();
このスレッドの実行が完了したら、何かしたいです。
これを行う方法はありますか?
少なくとも2つの可能な解決策:
BackgroundWorker
を使用してコードを実行し、イベントをBackgroundWorker
使用して完了後に実行されるコードを実行します。RunWorkerCompleted
は、イベントベースのBackgroundWorker
非同期パターンを非常に使いやすいメカニズムにラップし、進行状況のレポートとキャンセルを完了します。このBackgroundWorkerチュートリアルとこのSO回答を参照してください。
タスク(.NET 4.0以降)
Task
オブジェクトを使用し、メソッドを使用ContinueWith
して、最初のタスクの完了後に実行する必要のあるコードを定義します。
あなたはそのようなものを使うことができます
if(th.isAlive())
{...}