在Java中,如何为线程池配置最大CPU内核?

时间:2015-05-14 10:52:25

标签: java multithreading scala threadpool executorservice

例如,我在同一台计算机上有2个线程池。一个用于IO密集型任务(例如remoteReading和remoteWriting,我们称之为ReadWritePool),另一个用于CPU密集型任务(让我们称之为ComputationPool)。 ReadWritePool的最大池大小为20.而ComputationPool的池大小为5。

然后我有一个4核CPU。我想为ComputationPool分配3个核心,为ReadWritePool分配1个核心。我这样做是因为我不希望ReadWritePool中的线程与线程CompuationalPool竞争,而允许同一池内的竞争。

将不同类型的任务分成这样的不同池是一种好习惯吗?如果是这样,如何设置线程池可以使用的最大CPU核心?

0 个答案:

没有答案