VS2010线程窗口显示25个线程和Process.Threads.Count.50为什么?

时间:2010-06-17 20:22:29

标签: .net multithreading visual-studio-2010

VS2010线程窗口显示25个线程和Process.Threads.Count.50

其他25人在做什么?

2 个答案:

答案 0 :(得分:1)

可能是线程池。线程池将为您创建一堆线程,这样当您使用它们时,您不必承担在此时启动新线程的成本。

在线程池中运行东西的一种方法是创建一个委托并在其上调用BeginInvoke。如:

var a = new System.Action(() => { /* do work in the background! */ });
a.BeginInvoke(r => a.EndInvoke(r), null);

动作的主体将在其中一个主题中执行。

答案 1 :(得分:1)

无论何时在用户代码中创建线程,系统都会创建匹配的内核线程。我的猜测(尽管它只是只是一个猜测)是其中一个工具只显示用户线程的计数,而另一个显示用户和内核线程的计数。