并发编程之线程池合理配置

戏子无情 提交于 2020-03-16 11:49:26

某厂面试归来,发现自己落伍了!>>>

如何合理的配置线程池参数: 思考该问题首先明确两个任务类型的概念

  1. CPU密集:该任务需要进行大量的计算,但是并没有阻塞,CPU在全速的运行。值得注意的是CPU密集型的任务只有在真正的多核CPU上才能更好的发挥作用(多线程技术),单核的CPU模拟多线程并不能提高任务的执行速度,因为CPU 的计算能力是有限的。
  2. IO密集:指的是该任务的IO操作,也就是说会存在阻塞的情况。这种任务会导致CPU浪费很多时间在等待上,因此这种类型的任务使用多线程技术能更好的提高计算集的任务执速度,即使是单核的计算机采用模拟多线程技术也能减少CPU等待IO的阻塞时间。
  • 具体配置参考如下:
  1. CPU密集型任务=CPU核数+1
  2. IO密集型任务 = 2*CPU核数
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!