gpt4 book ai didi

java - 如何使 ThreadPoolExecutor 具有无限队列,并且不会拒绝或超时队列中的任何任务

转载 作者:行者123 更新时间:2023-12-02 08:16:01 25 4
gpt4 key购买 nike

我只想向其中插入一批任务,并且不想丢失任何一个。

最佳答案

@virsir,

您具体询问了有关创建ThreadPoolExecutor实例的问题。但我想知道是否可以使用任何实现 ExecutorService 的类界面。由于 ThreadPoolExecutor 实现了 ExecutorService,所以这并不是一个很大的飞跃。

java.util.concurrent.Executors 类提供了一些有用的函数来创建处理一些常见情况的线程池。

我最近使用过 Executors.newFixedThreadPool()在一个项目中创建几个不同的线程池。它返回一个实现 ExecutorService 的对象。我毫不费力地将数以万计的 Runnable 实例提交到 10 个线程的池中,并且工作非常顺利。

根据 Java 5 文档,此方法:

Creates a thread pool that reuses a fixed set of threads operating off a shared unbounded queue. If any thread terminates due to a failure during execution prior to shutdown, a new one will take its place if needed to execute subsequent tasks.

由于该方法据说创建了一个“无界队列”,因此不应人为限制可以提交的任务数量。

关于java - 如何使 ThreadPoolExecutor 具有无限队列,并且不会拒绝或超时队列中的任何任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6434091/

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