文章详情页
python - 如何解决queue中同一个参数被多个线程同时调用?
浏览:112日期: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内创建jenkins访问另一个容器下的服务器问题2. Whitelabel错误页面发生意外错误(类型=未找到,状态= 404)/WEB-INF/views/home.jsp3. html5 - h5写的app用的webview,用手机浏览器打开不显示?4. docker-compose 为何找不到配置文件?5. 用Java8的 stream 操作外部集合是否存在并发问题?6. docker容器呢SSH为什么连不通呢?7. docker gitlab 如何git clone?8. html5和Flash对抗是什么情况?9. css3 - 请问,如何写这个颜色的(渐变),并且在移动端自适应10. javascript - 移动端,当出现遮罩层的时候,遮罩层里有div是超出高度scroll的,怎么避免滑动div的时候,body跟随滑动?
排行榜
