繁体   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