小编Mar*_*elD的帖子

Thread.Abort的替代方案,用于cpu +时间密集型方法

我有一个关于多线程应用程序的问题.我使用TaskFactory来启动一个cpu +时间密集型方法.此方法是对SAP的调用,需要很长时间才能完成.用户应该有一个取消任务的选项.目前我正在使用thread.Abort(),但我知道这种方法不是取消它的最佳解决方案.有没有人有替代方案的建议?

代码示例:

Form_LoadAction loadbox = new Form_LoadAction();
Thread threadsapquery = null;

Task.Factory.StartNew<>(() => 
{ 
   t = Thread.CurrentThread;
   Thread.sleep(10000000000); //represents time + cpu intensive method
}

loadbox.ShowDialog();
if (loadbox.DialogResult == DialogResult.Abort)
{
   t.Abort();
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading abort thread-abort taskfactory

3
推荐指数
1
解决办法
494
查看次数

标签 统计

abort ×1

c# ×1

multithreading ×1

taskfactory ×1

thread-abort ×1