zoukankan      html  css  js  c++  java
  • 通过设置线程池的最小线程数来提高task的效率,SetMinThreads。

    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      

  • 相关阅读:
    是什么阻止你达成人生的目标?
    安装cocoa pods
    Mac安装mysql
    Mac安装jee开发环境,webservice环境搭建
    Mac使用Github
    从一个app开始学iOS
    Macbook Pro开机黑屏了。
    U盘安装OSX
    数据分析有时候的结果并不令人满意
    vmvare fusion 8
  • 原文地址:https://www.cnblogs.com/Charltsing/p/taskpoolthread.html
Copyright © 2011-2022 走看看