gpt4 book ai didi

java - 限制迭代器的线程和/或重用线程?

转载 作者:行者123 更新时间:2023-11-30 04:55:19 27 4
gpt4 key购买 nike

假设我有一个迭代器 it 返回 CustomClass 类的内容。迭代器有“许多”CustomClass 需要遍历。此外,假设用户输入的内容使我的程序决定我的程序在任何时刻只能运行 5 个线程。

在某种程度上,预计会发生这样的事情:

for(int i = 0; i < 5 && it.hasNext(); i++) {
new Thread(it.next()).start();
}

现在,再次只允许五个元素,并且迭代器中还有更多元素。但是在一个线程完成 run() 之后,我希望它调用 it.next() 并创建一个新线程。但问题是它没有在此线程中定义。 CustomClass 甚至没有任何类型的 next() 方法。我该如何解决这个问题,以便每个线程都可以有效地“访问”迭代器?

最佳答案

看看executors and thread pools Java 教程中的部分。基本思想是将您的工作排队,当线程“变得可用”时,它将拾取下一个工作并开始执行它。

关于java - 限制迭代器的线程和/或重用线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8751476/

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