.NET中的线程池ThreadPool(链接)
微软推荐在.NET中使用多线程开发时,都使用线程池,下面这篇微软文档介绍了.NET中的线程池类ThreadPool:
注意上面文档中的这句话:
There is one thread pool per process.
也就是说,每个.NET进程(process)中有一个线程池,线程池在每个.NET进程中只有一个,一个.NET进程中的所有线程池线程都由一个线程池(ThreadPool)统一管理。
下面这篇微软文档还介绍了托管的线程池:
其中这里有提到,当线程池中的线程数量达到ThreadPool.GetMaxThreads的值时,新提交给线程池的任务就要进行排队等待了。另外文档中这里也有提到,.NET中的Task和Task<TResult>使用的就是线程池来执行任务。