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