如何创建前台任务?

时间:2012-03-14 11:48:08

标签: c# multithreading task

我似乎无法创建前台任务。 我的主线程是支持调用另一个线程然后退出。 另一个线程假设永远运行

void MainThreadMain()
{
    task_main = Task.Factory.StartNew(() => OtherThread()) ;
    return;
}

void OtherThread()
{
  while(true)
  {
     TellChuckNorrisJoke();
  }
}

即使主线程已经死了,我怎样才能确保task_main继续运行? 我以为我做了:

task_main.IsBackgorund = false; 

但没有这样的选择:\ 我可以让我的主线程等待来自我的其他线程的信号传递给Foreground模式。但那简直太傻了。

1 个答案:

答案 0 :(得分:6)

显而易见的问题是:你为什么不在主线程上运行你的工作?

假设这不是一个选项,您应该使用Thread而不是Task。然后你可以设置:

Thread.IsBackground = false;

这将阻止您的应用程序在工作线程运行时终止。