【发布时间】:2018-02-26 06:34:23
【问题描述】:
我正在开发一个应用程序,它从不同的线程监听队列,但我遇到了线程管理问题。我从我的主应用程序启动了一个后台线程。它工作正常,但在主应用程序完成后,子线程就会终止。主应用程序完成后是否有继续子线程。
我开始像下面这样的线程。
Thread myNewThread = new Thread(() => Executer.ProcessQueueMessages());
myNewThread.IsBackground = true;
myNewThread.Start();
【问题讨论】:
-
不,没有这样的方法。您可以使线程成为非后台线程,它会在主线程完成后继续工作 - 但是您的主应用程序进程将不会真正完成。
-
一旦主线程被杀死,所有的子线程都会被杀死。在杀死主线程之前,您必须等待所有子线程完成。
标签: c# multithreading background-thread