在C#中进行线程化。可以中断的任务

时间:2009-08-11 06:02:41

标签: c# concurrency

在我的程序中,我有一些非常长的任务,应该可以从GUI(WPF)中断。有关线程架构的任何建议吗?

此任务看起来像是具有此类代码的N线程:

public void DoLongOperation()
{
    for(int i=beginPoint; i<endPoint; i++)
    {
       doSomethingStupid(dataArray[i]);
    }
}

3 个答案:

答案 0 :(得分:10)

答案 1 :(得分:0)

。线程上的.Interrupt()不是好方法,唯一好办法就是你在答案中说的bool。

答案 2 :(得分:-1)

好吧,您可以通过检查bool来检查是否应该停止,每次循环迭代。或者只是.interrupt()它,并处理异常(如果它可以随时被杀死)。