队列设置最大长度后,整个程序被阻塞
来源:8-7 使用多线程和Queue重构csdn爬虫

Sean_Liu_HD
2020-12-06
ParseTopicDetailThread如果有下一页数据再put进topic_queue时整个程序被阻塞。
应该是此时ParseTopicListThread向topic_queueput了数据导致队列已满,
然后两个线程都在向topic_queue中put时被阻塞住了,
感觉类似于死锁,
请问老师有什么好的解决方案吗?
写回答
1回答
-
bobby
2020-12-07
如果是队列的话 这里不应该出现死锁,比如你现在列表页解析过快,很快将队列放满,这个时候消费者消费不过来,那么这个时候生产者阻塞等待消费者消费之后才能放入,这个地方是消费者和生产者之间的关系,两者之间又不会竞争同一把锁,为什么会死锁?
022021-04-18
相似问题