分析&回答
1)配置线程池时CPU密集型任务可以少配置线程数,大概和机器的cpu核数相当,可以使得每个线程都在执行任务
2)IO密集型时,大部分线程都阻塞,需要多配置线程数,2cpu核数,非阻塞 IO 按需设置ncpu核数
3)有界队列和无界队列的配置需区分业务场景,一般情况下配置有界队列,在一些可能会有爆发性增长的情况下使用无界队列。
4)任务非常多时,使用非阻塞队列使用CAS操作替代锁可以获得好的吞吐量。
反思&扩展
编辑人: 浅唱
2025-05-10
5
832
1)配置线程池时CPU密集型任务可以少配置线程数,大概和机器的cpu核数相当,可以使得每个线程都在执行任务
2)IO密集型时,大部分线程都阻塞,需要多配置线程数,2cpu核数,非阻塞 IO 按需设置ncpu核数
3)有界队列和无界队列的配置需区分业务场景,一般情况下配置有界队列,在一些可能会有爆发性增长的情况下使用无界队列。
4)任务非常多时,使用非阻塞队列使用CAS操作替代锁可以获得好的吞吐量。