1.如何正确的定义线程池的大小
定义线程池的大小目前没有特别规范的......
但是可以从任务特性方面考虑,进而合理的分配线程池的大小
- CPU的密集型:不超过(机器CPU核心数+1)
- IO密集型:(机器CPU核心数*2)(推荐) netty的线程池的就是(机器CPU核心数*2) 当然,若是(机器CPU核心数*2)时,还很空闲,可以继续(机器CPU核心数*2,*3,*4等)
- 混合型(既有CPU的密集型,又有IO密集型)
- 若CPU密集时间和IO密集型时间相差不大---推荐拆分
- 若CPU密集时间(1s),IO密集型时间(10min),相差太大---不推荐拆分---未知---未测---不敢妄言
定时线程,吞掉异常
CompletionService 先到先得 谁先执行完,我就可以先拿到谁的执行结果
关于线程池的一些知识
原文:https://www.cnblogs.com/mjtabu/p/12853225.html