如何在WP7中停止/中止/中断线程?
更新 提出了以下解决方案(队列事件是消费者/生产者Q的一部分,实际上并不需要退出线程:)):
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
//GP-HACK:Stoping the thread.
stopExecutorThread = true;
operationQueueNonEmptyEvent.Set();
}
private volatile bool stopExecutorThread = false;
public void Run()
{
do
{
operationQueueNonEmptyEvent.WaitOne();
if (stopExecutorThread)
return;
....
}
}
感谢Matt!
非常感谢!
答案 0 :(得分:2)
无法阻止特定线程。如果你真的需要停止在线程中运行的东西,你需要与线程中运行的代码进行通信,并告诉它停止做它正在做的事情。没有内置的方法来做到这一点。
或者考虑BackgroundWorker,因为这支持请求取消。