class Program
{
private int x = 0;
static void Main(string[] args)
{
Program p = new Program();
int a, b;
ThreadPool.GetMaxThreads(out a, out b);
Console.WriteLine("{0} - {1}", a, b);
for (int y = 0; y < 20; y++)
{
WaitCallback cb = new WaitCallback(DoSomething);
ThreadPool.QueueUserWorkItem(cb, y);
}
}
public static void DoSomething(object state)
{
Console.WriteLine(state);
}
}
大多数时候它会打印出 20 个项目。但是,有时它只打印一些。这是为什么?我来自 Java 背景,想知道我是否对 .NET 线程池的工作方式做出了一些错误的假设。