gpt4 book ai didi

java - 需要提交多少次调用才能与 newWorkStealingPool 一起使用?

转载 作者:行者123 更新时间:2023-12-02 09:24:37 27 4
gpt4 key购买 nike

我正在阅读有关 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);
}

更有可能 - 我如何(正确)使用这个线程构造?

最佳答案

Runnables 提交到工作窃取池 (ForkJoinPool) 会执行一次(就像在任何其他线程池中一样)。

通过 processRecord 的示例实现,您需要为 blockingQueue 中的每个元素提交一个

关于java - 需要提交多少次调用才能与 newWorkStealingPool 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58422054/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com