gpt4 book ai didi

java - java中的线程池执行器只允许10个线程,一旦提交第11个线程,它就会给出异常,说已达到最大限制

转载 作者:行者123 更新时间:2023-12-01 11:43:14 24 4
gpt4 key购买 nike

java中的线程池执行器只允许10个线程,一旦提交第11个线程,它就会给出异常,说已达到最大限制

谁能帮忙

public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(new Processor(1));
executor.submit(new Processor(2));
executor.submit(new Processor(3));
executor.submit(new Processor(4));

}

这里等待没有显示任何异常

最佳答案

您需要像这样更改 ThreadPoolExecutor 属性 -

ThreadPoolExecutor executor = new ThreadPoolExecutor(10, 10, 0L, TimeUnit.SECONDS, new SynchronousQueue<Runnable>());

使用允许 0 队列大小的 SynchronousQueue。因此,一旦您提交第 11 个任务,执行器就会拒绝该任务并抛出异常。

关于java - java中的线程池执行器只允许10个线程,一旦提交第11个线程,它就会给出异常,说已达到最大限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29341040/

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