文章详情页
python - 如何解决queue中同一个参数被多个线程同时调用?
浏览:276日期:2022-08-18 15:18:47
问题描述
本人想实现一个基础的多线程爬虫,初步想法是筛选目录中多个电影标题是否有关键字,没有的话就进入到详情页中查找电影类别中是否有关键字。下面是一部分代码:
executor = ThreadPoolExecutor(max_workers=5) #Future模块的多线程executor.map(get_page,whole) #get_page()为筛选标题的函数time.sleep(5)while not que.empty(): que_data = que.get() filter(que_data) #filter()为筛选分类关键字的函数,但每次五个线程同时访问同一个url
但现在每次多个线程同时调用queue中的同一个url,请问有什么解决办法吗
问题解答
回答1:专门用一个线程读取queue中的url,然后分配给某个线程
对该queue的访问加锁
相关文章:
1. docker容器呢SSH为什么连不通呢?2. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?3. Docker for Mac 创建的dnsmasq容器连不上/不工作的问题4. 请问“由于 Cookie “PHPSESSID”的“SameSite”属性设置为“None”,但缺少“Secure”属性,此 Cookie 未来将被拒绝。”请问出现这个问题怎么办?5. 前端 - 类到底该如何去命名 .newsList 这种的命名难道真的不是过度语义化吗?~6. docker api 开发的端口怎么获取?7. golang - 用IDE看docker源码时的小问题8. docker start -a dockername 老是卡住,什么情况?9. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?10. docker网络端口映射,没有方便点的操作方法么?
排行榜

网公网安备