gpt4 book ai didi

java - Executor ScheduledThreadPool "more"线程池有什么作用?

转载 作者:行者123 更新时间:2023-11-29 07:27:46 24 4
gpt4 key购买 nike

我有一个 的 3 实例,它实现 runnable 接口(interface)。我正在实例化我的 Executor 类,如下所示;

 executor = Executors.newScheduledThreadPool(2);<--- talking about this part
executor.scheduleAtFixedRate(unassignedRunnable, 0, refreshTime, TimeUnit.SECONDS);
executor.scheduleAtFixedRate(assignedToMeRunnable, 2, refreshTime, TimeUnit.SECONDS);
executor.scheduleAtFixedRate(createTicketsFromFile, 3, refreshTime * 2, TimeUnit.SECONDS);

我的问题是,如果我将线程池计数从 2 更改为 13 会有什么不同吗?我尝试过,几乎一无所获。谁能解释线程池计数的实际用途?也许我的任务很轻?

最佳答案

您需要了解,无论您要创建多少线程,最终线程都会在可用核心数 上执行。现在,根据 documentation ,它是“保留在池中的线​​程数,即使它们是空闲的。”

Can you tell me what is the real use of thread pool count

executor = Executors.newScheduledThreadPool(2);

上面的代码行会在线程池中创建2个线程,但这并不意味着所有的线程都会做一些工作。但是,与此同时,同一线程可用于执行已提交的线程池中的一些其他任务。

因此,最好在选择要创建的线程总数之前了解您的要求。 (我通常更喜欢数字,具体取决于可用内核数)

关于java - Executor ScheduledThreadPool "more"线程池有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48138574/

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