BackgroundWorker与后台线程
我有一个关于我应该在Windows窗体应用程序上使用的后台线程实现的选择的风格问题。目前我BackgroundWorker
在一个具有无限(while(true))
循环的表单上。在这个循环中,我WaitHandle.WaitAny
用来保持线程打盹直到感兴趣的事情发生。我等待的一个事件句柄是一个“ StopThread
”事件,这样我就可以摆脱循环。来自我被覆盖的事件会发出此事件的信号Form.Dispose()
。
我读到的某个地方BackgroundWorker
真的是用于那些你不想将UI绑定到并且具有有限结束的操作 - 比如下载文件或处理一系列项目。在这种情况下,“结束”是未知的,并且仅在窗口关闭时。因此,使用后台线程而不是BackgroundWorker
为此目的更合适吗?
慕运维8079593
紫衣仙女