私は2つのバックグラウンドスレッドを持っています
Worker = new BackgroundWorker();
Worker.DoWork += new DoWorkEventHandler(GetQuery);
Worker.RunWorkerCompleted += GetQuery_RunWorkerCompleted;
Worker.RunWorkerAsync();
Worker2012 = new BackgroundWorker();
Worker2012.DoWork += new DoWorkEventHandler(GetQuery2012);
Worker2012.RunWorkerCompleted += GetQuery2012_RunWorkerCompleted;
Worker2012.RunWorkerAsync();
ワーカー スレッドの両方のメソッドがデータ テーブルを返している
今私の仕事は、これらの 2 つのデータ テーブルを 1 つにマージする必要があることです。
そのため、最初のタスクの RunCompletion でこれを行っています
void GetQuerys_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
do{} while(Worker2012.IsBusy);
//Merge Datatables
}
しかし、何らかの理由で do while ループが無限ループになっているようです。スレッドは終了しません。誰かが私が間違っていることを教えてもらえますか。または、データをマージできるように、2 番目のワーカー スレッドが完了するのを待つより良い方法はありますか。任意の助けをいただければ幸いです