【发布时间】:2013-11-25 21:18:19
【问题描述】:
我的代码是
static void Main(string[] args)
{
for (int i = 0; i < 100; i++)
{
ThreadPool.QueueUserWorkItem(y =>
{
Console.WriteLine(Thread.CurrentThread.ManagedThreadId);
Thread.Sleep(3000);
});
}
Console.Read();
}
当我启动程序并查看 sos.dll 时,我可以看到每次线程池都为我提供 4-5 个线程。由于池不提供更多线程,因此发生延迟。 为什么会这样?
【问题讨论】:
-
你的机器有几个核心?
-
除非您有 8 个或更多内核,否则 4 - 5 可能还不错,不会颠簸?另外,你读过documentaion吗?
标签: c# threadpool