亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

任務并行庫替換BackgroundWorker?

任務并行庫替換BackgroundWorker?

C#
Helenr 2019-12-12 14:47:34
任務并行庫是否具有任何可以替代或改進BackgroundWorker類的東西?我有一個帶有向導式UI的WinForms應用程序,它執行了一些長期運行的任務。我希望能夠擁有一個帶有標準進度條的響應式UI,并能夠取消該操作。我之前使用BackgroundWorker進行過此操作,但我想知道是否可以使用某些TPL模式來代替?
查看完整描述

3 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

該Task下課的改善BackgroundWorker; 它自然支持嵌套(父/子任務),使用新的取消API,任務繼續等。


我的博客上有一個示例,展示了舊BackgroundWorker的做事方式和新Task的做事方式。我確實有一個小的幫助程序類,用于需要報告進度的任務,因為我覺得語法很尷尬。該示例涵蓋了結果值,錯誤條件,取消和進度報告。


查看完整回答
反對 回復 2019-12-12
?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

后臺工作程序仍然是實現此目的的一種有效方法-如果同時運行多個大型操作,則值得考慮使用并行擴展,如果只是并行擴展,那么我會堅持使用后臺工作程序。


查看完整回答
反對 回復 2019-12-12
?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

您可以將任意對象傳遞為userState。但是,自從我上次發表評論以來的2.5年中,Task已經對IProgress<T>和進行了補充Progress<T>,它們比BackgroundWorker的過程更干凈,更容易。在現代代碼中,根本沒有理由再使用BackgroundWorker。

查看完整回答
反對 回復 2019-12-12
  • 3 回答
  • 0 關注
  • 472 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號