使用Task
2023-11-21 21:12:32
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
最新文章
- U3D 打包时找不到tag的问题
- Java创建树形结构算法实例
- XE3随笔21:系统默认语言与系统支持的语言列表
- Android android:gravity属性介绍及效果图
- RDIFramework.NET V2.9版本 WinFom部分新增与修正的功能
- WebService学习过程中的心得和问题
- 共享内存是最快的一种IPC方式
- Visual studio 2013 Team Foundation Server TFS2013 设置签出独占锁
- js实现移动端无限加载分页
- LeetCode: Maximum Product Subarray &;&; Maximum Subarray &;子序列相关
- Asp.Net Core简单整理
- photoshop中rgb与索引模式的区别
- iOS学习之根据文本内容动态计算文本框高度的步骤
- 进阶笔记(2)——JavaScript语言精碎
- 一个发送电子邮件的bash脚本
- db2安装要设置tcp、ip
- 使用SQL存储过程有什么好处 用视图有什么好处
- 进制转换,杭电0j-2031
- Apache中限制和允许特定IP访问
- C++的编译预处理