我正在阅读有关Executors.newWorkStealingPool 的内容,并且想知道如何设置它。
我的线程将从LinkedBlockingQueue中拉出,因此将连续运行(除非在“take”调用处被阻止)。
假设我不知道运行此代码的主机上将提供多少个内核。我如何知道要添加多少个 Runnable 对象实例?
Runnable processRecord = () -> {
try {
consumeRecord(blockingQueue.take());
} catch (InterruptedException e) {
e.printStackTrace();
}
public void setup() {
ExecutorService workPool = Executors.newWorkStealingPool();
-----> 我传入了多少个线程实例?
workPool.submit(processRecord);
}
更有可能的是 - 我如何(正确)使用这个线程构造?
慕的地10843
相关分类