我似乎无法创建前台任务。 我的主线程是支持调用另一个线程然后退出。 另一个线程假设永远运行
void MainThreadMain()
{
task_main = Task.Factory.StartNew(() => OtherThread()) ;
return;
}
void OtherThread()
{
while(true)
{
TellChuckNorrisJoke();
}
}
即使主线程已经死了,我怎样才能确保task_main继续运行? 我以为我做了:
task_main.IsBackgorund = false;
但没有这样的选择:\ 我可以让我的主线程等待来自我的其他线程的信号传递给Foreground模式。但那简直太傻了。
答案 0 :(得分:6)
显而易见的问题是:你为什么不在主线程上运行你的工作?
假设这不是一个选项,您应该使用Thread
而不是Task
。然后你可以设置:
Thread.IsBackground = false;
这将阻止您的应用程序在工作线程运行时终止。