繁体   English   中英

如何立即取消正在运行的BackgroundWorker?

[英]How to immediately cancel a working BackgroundWorker?

我有时间在BackgroundWorker DoWork中处理过程。

每当我尝试通过backgroundWorker1.CancelAsync()取消作业时, backgroundWorker1.CancellationPending变为Pending,我应该等待DoWork的下一次迭代取消作业并自行退出。

有没有办法在打电话后立即取消工作?

不可以。一般来说,你不能“立即”安全地终止一个线程,因为它可能持有会泄漏的资源,更重要的是它可能会持有锁。 您需要构建您的工作人员以尊重取消标志并尽快安全退出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM