写了一个多线程的爬虫(对多线程不熟悉),但是每次队列中都有重复的元素,我把代码逻辑贴上来,大家帮我看一下,谢谢了:
在进程中:
queue = LinkedBlockingQueue
set = ConcurrentSkipListSet
在每个进程中使用了bfs
bfs:
while(!queue.empty()){
s = queue.poll()
//。。。逻辑代码
set.add(s)
//对s所有子状态扩展
for(son : s.sons){
if(!set.contains(son))
queue.offer(son)
}
}