文章详情页
python - 如何解决queue中同一个参数被多个线程同时调用?
浏览:91日期: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. android - NavigationView 的侧滑菜单中如何保存新增项(通过程序添加)2. mysql服务无法启动1067错误,谁知道正确的解决方法?3. php - 第三方支付平台在很短时间内多次异步通知,订单多次确认收款4. php7.3.4中怎么开启pdo驱动5. jquery清除input type为password?6. 这段代码既不提示错误也看不到结果,请老师明示错在哪里,谢谢!7. tp5 不同控制器中的变量调用问题8. 老师 我是一个没有学过php语言的准毕业生 我希望您能帮我一下9. ueditor上传服务器提示后端配置项没有正常加载,求助!!!!!10. 提示语法错误语法错误: unexpected ’abstract’ (T_ABSTRACT)
排行榜
