【发布时间】:2013-01-31 17:01:40
【问题描述】:
默认情况下,.NET 中的线程池使用后台线程。
我无法将其更改为作为前台运行。
如何将其更改为作为前台线程运行?
编辑:
我需要使用它,因为我正在更改我的应用程序由于大量处理(在此之前我手动处理线程,默认情况下是前台线程),我不想更改我的应用程序只是为了适应它到后台线程场景..
我想知道为什么线程池默认不是前台
【问题讨论】:
-
您希望它们成为前台以防止您的进程终止?您可以保留一个关于您有多少活动后台线程的引用计数,并且在计数达到零之前不会终止您的主(可能是前台,UI)线程。
-
@jeffamaphone +1。闻起来像“我不知道如何正确编程,所以我拿了一把锤子并以某种方式让它工作,滥用我不知道的一切”。
-
好吧,我不想假设太多,但我确实更喜欢包含为什么你想做某事的问题,因为通常会有更好的方法出现根据经验。
-
“由于大量处理”是什么意思。如果线程池没有所需的行为,那么您应该考虑它可能不是正确的工具。
-
作为记录,您可以将当前的 ThreadPool 线程更改为前台线程,但这样做是一个糟糕的主意。
标签: c# .net multithreading threadpool