gpt4 book ai didi

Java,补充迭代器或队列

转载 作者:行者123 更新时间:2023-11-30 03:55:13 24 4
gpt4 key购买 nike

我正在开发一个涉及多个线程的项目。我有一个管理器类,其中包含我的线程用于计算等的模型列表。这是一个包含几个项目的基本同步数组列表。现在我希望每个线程获取不同的项目,当前未使用的项目,类似于队列。使用 foreach 是不可能的,因为我有更多的项目和线程。 1:20的比例。使用队列也是可能的,但我希望它能够补充,我不知道这是否是最好的方法。

我的问题是:我该如何解决这个问题。有些人已经建议使用同步迭代器,但这不适用于多线程......

编辑:这些项目不会改变。我只是不希望线程同时使用相同的项目。

最佳答案

听起来像 ConcurrentLinkedQueue就是您正在寻找的。多个线程可以安全地添加和删除,并且不需要对其进行迭代,只需轮询队列的头部以获取新项目,并且可以将新项目放入(提供)队列中。这与 @AdrianPang 描述的 BlockingQueue 略有不同,因为如果队列中没有任何内容,这里的线程将立即返回(返回 null)。您需要的确切集合取决于您想要的行为,但在这里使用一种或另一种类型的并发队列似乎很合适。

关于Java,补充迭代器或队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23399031/

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