使用Task
2024-10-10 04:58:19
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
最新文章
- WPF入门:XAML
- 工作总结_js倒计时
- 【WPF】制作自定义的列表项面板
- [安卓] 4、CheckBox、RadioButton和Toast简单用法
- 创建一个Android工程
- Java学习之字符串的创建
- include设置属性在relativelayout布局中无效
- linux 内存-文档学习
- sklearn导入模块问题:python ImportError: No module named datasets
- 【Netty】通俗地讲,Netty 能做什么?
- 常用正则表达式:手机、电话、邮箱、身份证、IP地址、网址、日期等
- angularjs ngRoute和ui.router对比
- 20135234mqy-——信息安全系统设计基础第十二周学习总结
- VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二)
- Apache Tomcat 6.0 Tomcat6 服务因 1 (0x1) 服务特定错误而停止
- 静态成员变量和静态成员函数(static)
- 使用jquery dataTable
- Workflow_将一个消息同时发给通过用户(案例)
- SpringBoot入门篇--对于JSON数据的返回以及处理二
- java设计模式-----3、抽象工厂模式