gpt4 book ai didi

java - 多线程通过列表正确

转载 作者:行者123 更新时间:2023-11-29 10:05:28 28 4
gpt4 key购买 nike

我在多线程方面的经验有限,所以老实说这可能是个糟糕的主意。这是我想要做的:

包含 50 个 URL 的数组列表(示例)使用 x 数量的线程(例如 5 个)来访问列表中的一系列 URL调用通用方法来处理 URL(检索 html)将结果与其他线程结果一起存储在主列表中

现在我坚持用多线程处理ArrayList,我目前的想法是将列表除以列表中有多少个URL,并为每个线程分配一个数字范围来处理例如

线程 1 - 0-7线程 2 - 8-15

等等

我假设这是一个糟糕的方法,但我真的找不到示例方法。

非常感谢帮助/建议。

最佳答案

  1. 创建一个线程池,其中每个线程处理一个 URL列表中的时间。
  2. 保留一个全局索引计数器,以便在线程完成后,它可以从列表中检索下一个 URL 以进行处理。
  3. 这样做直到所有 URL 都被处理,即。 index == list.size()

这样所有线程都得到充分利用,直到作业完成。您可以调整池中的线程数,以针对您的特定运行时环境优化性能。

只需确保您的索引计数器代码是线程安全的。 :)

关于java - 多线程通过列表正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9446816/

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