gpt4 book ai didi

java - 在Java中,有一个集合,我只能在一段时间后才能获取元素?

转载 作者:行者123 更新时间:2023-12-02 00:56:17 26 4
gpt4 key购买 nike

我正在做一个网络爬虫,我不想让服务器因请求而重载,所以我会按时间限制对服务器的访问。

我将有一个对象/集合,它是我将访问的链接列表。

我得到第一个链接,它来自 Google(示例),访问并完成所有工作。我只能在 20 秒后获取来自 Google 的另一个链接(示例),在等待期间,我会收到来自其他域的链接。

总而言之,我需要一个集合,它允许我对其中的对象进行分类,并以确定的时间间隔从中获取对象。

还有类似的吗?如果没有,建议在实现中使用哪些集合?该集合将被不同的线程访问。

最佳答案

您可以使用DelayQueue为了这。它是一个并发集合,只允许在项目“过期”后从中取出它们。您添加的项目必须实现 Delayed .

您可能也只想使用 ScheduledExecutorService 。例如,对于您正在爬网的每个域,您可以安排一个抓取下一个链接的任务,然后使用下一个链接重新安排另一个任务。

关于java - 在Java中,有一个集合,我只能在一段时间后才能获取元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6498183/

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