2017-03-29 10 views
-1

2つのBackgroundWorkersを並行して実行したい。どのように実装できますか?以下の私のコードでは、backgroundWorker2は動作しません:2つのBackgroundWorkersを一緒に実行する

private void Form1_Load(object sender, EventArgs e) 
{ 
    backgroundWorker1.RunWorkerAsync(); 
    backgroundWorker2.RunWorkerAsync(); 
} 
+0

あなたが投稿したコードは、作業を行います。これらの2人の作業者のためにDoWorkメソッドで行っていることは機能していない可能性があります。あなたはそのコードを投稿しませんでした。 – LarsTech

+0

私はbackgroundWorker2の最初にブレークポイントを置く、動作しません@larsTech –

+0

コメントの2番目の部分に注意してください。 – LarsTech

答えて

2

ではなくTask Parallel Libraryを使用してください。このようなことをする新しい方法。 Parallel.Invokeを使用して

擬似コード:Task

Parallel.Invoke(() => SomeMethod(),() => SomeOtherMethod()); 

は擬似コード:

async Task SomeMethod() { } 
async Task SomeOtherMethod() { } 

Task task1 = SomeMethod(); 
Task task2 = SomeOtherMethod(); 
await Task.WhenAll(task1,task2); 
// get results task1.Result and task2.Result 
関連する問題