我好像创建前台任务失败了。 我的主线程是 suppose 调用另一个线程然后退出。 另一个线程应该永远运行
void MainThreadMain()
{
task_main = Task.Factory.StartNew(() => OtherThread()) ;
return;
}
void OtherThread()
{
while(true)
{
TellChuckNorrisJoke();
}
}
即使主线程已死,我如何确保 task_main 继续运行? 我以为我会这样做:
task_main.IsBackgorund = false;
但没有这样的选择:\ 我可以让我的主线程等待来 self 的其他线程的信号,它传递到前台模式。但这很愚蠢。
最佳答案
显而易见的问题是:为什么不在主线程上运行您的工作?
假设这不是一个选项,您应该使用 Thread
而不是 Task
。然后你可以设置:
Thread.IsBackground = false;
这将防止您的应用程序在工作线程运行时终止。
关于c# - 如何创建前台任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9701368/