线程池在首次创建 ThreadPool 类的实例时被创建。线程池具有每个可用处理器 25 个线程的默认限制,这可以使用 mscoree.h 文件中定义的 CorSetMaxThreads 来更改。每个线程使用默认的堆栈大小并按照默认的优先级运行。每个进程只能具有一个操作系统线程池。

解决方案 »

  1.   

    每个cpu,最大线程为 25
    当线程池的可用线程数不为零时(线程池有创建线程数的限制,缺身值为25),便创建此线程,否则就排队到线程池等到它有可用的线程时才创建
      

  2.   

    谢谢!!!
    To colin666(边缘):
    你说的我也看到过,但到底如何设置呢???
    如果同时有上千个连接,线程池中的活动线程最大25个,则等待的线程不是太多了吗?(如我的每个连接与SERVER每秒钟通信10次,其余时间则Sleep)对连接的通信没有影响吗???
      

  3.   

    在单CPU下,无论你怎么设置最大线程数,也没有效果,反而线程越多,线程间的切换会大大影响效率。所以建议你改进你的算法,而不是增加线程数。