4

その中の関数を呼び出すための新しいスレッドを作成しています。

Thread th = new Thread(My_Function);
th.start();

このスレッドの実行が完了したら、何かしたいです。

これを行う方法はありますか?

4

2 に答える 2

12

少なくとも2つの可能な解決策:

BackgroundWorker

を使用してコードを実行し、イベントをBackgroundWorker使用して完了後に実行されるコードを実行します。RunWorkerCompleted

は、イベントベースのBackgroundWorker非同期パターンを非常に使いやすいメカニズムにラップし、進行状況のレポートとキャンセルを完了します。このBackgroundWorkerチュートリアルこのSO回答を参照してください。

タスク(.NET 4.0以降)

Taskオブジェクトを使用し、メソッドを使用ContinueWithして、最初のタスクの完了後に実行する必要のあるコードを定義します。

于 2013-01-02T09:53:42.390 に答える
-2

あなたはそのようなものを使うことができます

if(th.isAlive())
{...}
于 2013-01-02T09:47:41.960 に答える