码迷,mamicode.com
首页 > 编程语言 > 详细

通过设置线程池的最小线程数来提高task的效率,SetMinThreads。

时间:2015-09-14 09:23:29      阅读:630      评论:0      收藏:0      [点我收藏+]

标签:

http://www.cnblogs.com/Charltsing/p/taskpoolthread.html

task默认对线程的调度是逐步增加的,连续多次运行并发线程,会提高占用的线程数,而等若干秒不运行,线程数又会降低。这样,会影响程序多次运行的效率。

即使使用了TaskCreationOptions.LongRunning参数,依然效率偏低。对于一些固定执行时间的线程,我们可以提高线程池的最小线程数,来显著提高task多线程的效率。

ThreadPool.SetMinThreads(100, 100);

 

提高最小线程数之后,可以不使用LongRunning参数。

 

测试结果(2000线程):

               状态                                     时间

没有设置任何参数,首次运行                     48s

没有设置任何参数,连续运行多次                 15s~12s

未设置最小线程,设置LongRunning           15s

设置最小线程100,未设LongRunning        8s

设置最小线程100,设置LongRunning        16s

 

以上结果供大家参考。

联系QQ 564955427      

通过设置线程池的最小线程数来提高task的效率,SetMinThreads。

标签:

原文地址:http://www.cnblogs.com/Charltsing/p/taskpoolthread.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!