要了解线程池配置,不得不知道IO密集和CPU密集。
IO密集
IO密集就是指该任务存在大量IO操作,这也意味着会存在大量的阻塞,而IO操作不会占用CPU资源的。如果在单线程下执行该任务会浪费大量的CPU资源,所以为了防止CPU资源被浪费,建议使用多线程,这样会使当某个线程阻塞时,其他线程会继续使用CPU资源。推荐:多线程数 = 2 * CPU数(这里的多线程数指的是最大线程数)
CPU密集
CPU密集是指任务需要进行大量运算,不存在大量阻塞,CPU全速运行。这时就得减少线程数推荐:多线程数 = CPU数