[英]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.