证明task线程是来源于线程池的,线程重用
程序员文章站
2022-05-06 23:03:50
1、线程池是单例的,全局唯一的,设置线程池最大活跃线程数是5,设置后,允许同时并发的Task只有5个,我们开启100个task去做任务,从最后的输出结果看到,虽然开启了100个task,但是线程id始终是那5个如图所示 2、结论:证明task是来源于线程池的,而且线程是重用的 ......
1、线程池是单例的,全局唯一的,设置线程池最大活跃线程数是5,设置后,允许同时并发的task只有5个,我们开启100个task去做任务,从最后的输出结果看到,虽然开启了100个task,但是线程id始终是那5个如图所示
2、结论:证明task是来源于线程池的,而且线程是重用的
namespace task_threadpool { class program { static void main(string[] args) { threadpool.setmaxthreads(5, 5); for (int i = 0; i < 100; i++) { int k = i; task.run(() => { console.writeline($"this is {k} running threadid={thread.currentthread.managedthreadid.tostring("00")}"); thread.sleep(2000); }); } console.read(); } } }
上一篇: Linux三阶段之六:ansible批量管理服务介绍
下一篇: C语言实现二叉树