1つのボタンクリックで2つの異なるボタンクリックイベントを組み合わせたい。これらの2つのボタンクリックイベントに2つのスレッドがあり、winformのテキストボックスを更新します。これらの2つのボタンを組み合わせようとすると、スレッドは同期的に実行されますが、thread1の終了後にthread2を実行する必要があります。どうやってやるの?thread2.startよりthread1.startを実行しようとしましたが、すべてのクリックイベントが一度に実行されるため、機能しませんでした。助けてくれる人はいますか?ありがとう。
2526 次
2 に答える
4
あなたはそれを次のように行うことができます
new Thread(() =>
{
Method1();
Method2();
}).Start();
TPLを使用するかそれ以上
Task.Factory.StartNew(() => Method1())
.ContinueWith(t => Method2());
于 2012-12-23T20:28:14.573 に答える
2
.Net 4: .net 4以降を使用している場合は、タスク、特にContinueWithメソッドを確認してください。これは、はるかに優れた、より均一なアプローチです。
.Net 1-3.5: すでに自分でスレッドを管理している場合、おそらく最良の方法はスレッドを1つだけにすることです。
new Thread(DoJob1And2).Start()
メソッドが次のように定義されている場合:
void DoJob1And2()
{
try
{
Job1();
}
finally
{
Job2();
}
}
void Job1()
{
// Do job 1
}
void Job2()
{
// Do job 2
}
于 2012-12-23T20:18:34.773 に答える