Ren*_*ani 2 java collections timedelay web-crawler thread-safety
我正在做一个webcrawler,我想不要用请求重载服务器,所以我会限制对服务器的访问.
我将有一个对象/集合,这是我将访问的链接列表.
我得到了第一个链接,它来自Google(示例),访问并完成所有工作.我只能在20秒后使用来自Google的另一个链接(示例),在我等待的时候,我会从其他域获取链接.
总而言之,我需要一个集合,允许我对其中的对象进行分类,并以确定的间隔从中获取对象.
有一些类似的吗?如果没有,建议在实施中使用哪些集合?该集合将由各种线程访问.
您可以使用DelayQueue.它是一个并发集合,只允许在"过期"后从中获取项目.您添加的项目必须实现延迟.
您可能只想使用ScheduledExecutorService.例如,对于您正在抓取的每个域,您可以安排一个抓取下一个链接的任务,然后使用下一个链接重新安排另一个任务.
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |