我有一個3個耗時函數的序列,我想在後臺工作者或其他任何工具中執行它們,我的問題是每個函數都應該等待先驗函數完成,所以這是我的僞代碼:鏈中的多背景工作者
open_session() // during the execution of this function i like to display a loading-window
open_session() //this function opens a process another windows app , while opening this app i would like to keep the current app responsive.
close_session()// during the execution of this function i like to display a loading-window
我想象使用後臺工作者來做到這一點,但功能是異步的。
任何幫助,請
爲什麼還要花費管理所有這些額外的線程/任務的開銷,如果你只是想同步它們。首先,最好只使用一個BGW。 – Servy 2012-08-10 21:09:30
@Servy是什麼類型的開銷呢,真的嗎?它可能會使代碼更具可讀性,例如,如果使用'e.Result',並且每個任務完成後分配的結果是不同的類型。我已經看到代碼將所有異步的東西加入到一個大的DoWork事件處理器中;可能沒有經歷管理額外線程的開銷,但是膨脹並且更難以調試。 – 2012-08-10 21:53:23
是啊我正在尋找你的解決方案,但我試圖避免玩BGW RunWorkerCompleted事件,有沒有辦法避免玩這個事件? – geogeek 2012-08-10 22:23:17