簡體   English   中英

BackgroundWorker和System.Threading.Thread之間的區別

[英]Difference between BackgroundWorker and System.Threading.Thread

使用BackgroundWorker創建thead和使用System.Threading.Thread創建線程有什么區別?

BackgroundWorker類基本上抽象了Thread創建和監視過程,並為您提供了一個事件驅動的API來報告操作的進度( ProgressChanged )並確定您的操作何時完成( RunWorkerCompleted )...

其中一個最常見的用途是在長時間運行的進程在后台執行時保持Windows GUI響應。 所以基本上,它只是System.Threading.Thread的一個包裝器,旨在使背景線程更簡單(顧名思義!)

BackgroundWorker實際上是通過委托進行異步線程調用的包裝器 - 使用反射器可以看到它相應地調用了開始/結束調用方法。 這與System.Threading.Thread不同之處在於它使用線程池而不是啟動一個全新的線程。

使用后台工作程序的主要原因是它可以很好地插入Windows窗體應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM