您的位置:首页技术文章
文章详情页

python - 如何解决queue中同一个参数被多个线程同时调用?

【字号: 日期:2022-08-18 15:18:47浏览:30作者:猪猪

问题描述

本人想实现一个基础的多线程爬虫,初步想法是筛选目录中多个电影标题是否有关键字,没有的话就进入到详情页中查找电影类别中是否有关键字。下面是一部分代码:

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的访问加锁

标签: Python 编程
相关文章: