采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
ParseTopicDetailThread如果有下一页数据再put进topic_queue时整个程序被阻塞。 应该是此时ParseTopicListThread向topic_queueput了数据导致队列已满, 然后两个线程都在向topic_queue中put时被阻塞住了, 感觉类似于死锁, 请问老师有什么好的解决方案吗?
如果是队列的话 这里不应该出现死锁,比如你现在列表页解析过快,很快将队列放满,这个时候消费者消费不过来,那么这个时候生产者阻塞等待消费者消费之后才能放入,这个地方是消费者和生产者之间的关系,两者之间又不会竞争同一把锁,为什么会死锁?
同样问题,会出现死锁,卡在lock.aquire()
我这边即使没有设置队列长度,也会卡住,log信息如下: Exception ignored in: <module 'threading' from '/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/threading.py'> Traceback (most recent call last): File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/threading.py", line 1388, in _shutdown lock.acquire()
登录后可查看更多问答,登录/注册
慕课网严选精品教程,高质量内容+服务!
1.3k 20
1.6k 17
1.2k 17
1.1k 17
1.4k 13