我有2個異步進程,需要被依次調用(一個是XML創建backgroundworker
,另一個是使用在第一個進程中創建的XML文件的raring BW)。這些線程的主要原因是阻止UI凍結並通過進度條提供狀態更新 - 因爲這樣的同步方法不可取/可能。等待BackgroundWorker完成?
if (!CreateXMLBW.IsBusy)
{
CreateXMLBW.RunWorkerAsync("");
}
if (!CreateRarBW.IsBusy)
{
CreateRarBW.RunWorkerAsync();
}
我不能把第二BW第一的完成事件中的過程可以單獨使用,因此,如果我只是想創建的XML文件,我可以做到這一點。
我試過使用AutoResetEvent
和WaitOne
但這(無論什麼原因)仍然無法正常工作。
是否有任何其他方式可以等待BW完成而不凍結主UI線程?
爲什麼你不創建一個新的工人同步運行這兩個工人?你運行這個新的工作異步 – Fabske
我喜歡這個想法,但反對幹。 –
它很乾燥,您不需要重複使用其他兩名工作人員的代碼。無論如何,下面提出的任務解決方案更加優雅:) – Fabske