所以我有我的Winform應用程序中的2個backgroundworkers,只是叫他們b1和b2。這是我的代碼:從另一個backgroundworker c停止backgroundworker#
private void b1_DoWork(object sender, DoWorkEventArgs e)
{
b2.RunWorkerAsync();
Thread.Sleep(3000);
b2.CancelAsync();
}
private void b2_DoWork(object sender, DoWorkEventArgs e)
{
Global.GetPdfThumbnail(Global.inPDF, Global.outImage);
}
我真正想要的是運行b2線程並使b1線程睡眠3秒,然後停止b2線程。
問題出在b2.CancelAsync();
指令之後,b2 isBusy
依然如此。
請幫忙!
對不起我的英語!
這是所有異步所以需要一段時間的系統停止線程。這就解釋了爲什麼IsBusy在CancelAsync後立即成立。你可以等待IsBusy成爲真實的,但不清楚你想達到什麼。開始一項任務似乎毫無意義,讓它運行3秒,然後放棄已完成的任務。請詳細說明你的首要目標。 –