Tag: 请求取消

后台工人类取消,设置取消挂起标志但不退出

我叫obackgroundworker.CancelAsync(); 在一个后台工作者当前在另一个线程中做一些工作,然后使用while(obackgroundworker.IsBusy == true)等待它完成退出应用程序之前(如果用户改变主意,而线程正在处理并且我想要干净地关闭) 取消挂起的单位正确设置为true但是线程没有退出,在工作线程中我有: backgroundworker obackgroundworker = (backgroundworker)sender; if (obackgroundworker.cancellationpending == true) e.cancel = true; 应检查取消是否待定,然后将取消的标志设置为true,我认为这也会导致线程实际终止…? 或者,当它检测到取消实际结束时,是否需要从线程调用其他函数? 我已经阅读了很多使用背景工作者的例子,并且没有报告任何问题。 资料来源: http://www.albahari.com/threading/part3.aspx http://www.dotneat.net/2009/02/10/BackgroundworkerExample.aspx http://www.codeproject.com/KB/cpp/BackgroundWorker_Threads。 ASPX 谢谢