强制任务创建前台线程

时间:2016-06-07 20:52:32

标签: c# multithreading task

任务依次提交给使用后台线程的ThreadPool。如果我希望程序在完成所有工作但我的任务完成后仍然保持运行,那么强制它们是前台线程吗?或者正在调用wait()更好的主意?

选项A:

Task task1 = Task.Factory.StartNew(Foo);

public void Foo()
{
   Thread.CurrentThread.IsBackground=false;
   //do work
}

选项B:

Task task1 = Task.Factory.StartNew(Foo);
task1.Wait();

public void Foo()
{
   //do work
}

编辑: 这篇文章Can threads started by Tasks Parallel Library act as foreground threads?提出了类似的问题,但答案还不够。他们没有解释选项的好处/缺点。

0 个答案:

没有答案