我遇到了一个奇怪的情况,在经历了很多次试射后我还是搞不清楚。我使用多线程(10)来读取url(100),它在大多数情况下都能正常工作,但在某些情况下,它会在最后一个线程上卡住。我等待它看它是否返回,花了很多时间(1050秒),而其余的9个线程在25秒内返回。它表明我的代码有问题,但无法解决。有什么想法吗?在

注1:对于守护进程和非守护进程线程都会发生这种情况。在

注2:URL和线程更改的数量。尝试了从不同数量的100-10个不同的URL和10-10个不同的线程。在

注3:URL在大多数情况下是完全不同的。在import urllib2

import Queue

import threading

from goose import Goose

input_queue = Queue.Queue()

result_queue = Queue.Queue()

线程工作者:

^{pr2}$

主要工艺:for url in urls:

input_queue.put(url)

thread_count = 5

for t in range(thread_count):

t = threading.Thread(target=worker, args= (input_queue, result_queue))

t.start()

for url in urls:

url = result_queue.get() # updates url

进程在最后一个result_queue.get()调用时被阻止。在

注意:我更感兴趣的是我在这里做错了什么,以防有人指出这一点?因为我倾向于认为我写的代码是正确的,但显然情况并非如此。在

python线程卡死问题解决_Python中的多线程:最后一个线程卡住了相关推荐

  1. python线程卡死问题解决_python while True造成未响应或卡顿的解决方法

    经过一段时间的摸索和实验,本人发现,可以采用update的方法来避免卡顿,代码如下: 主线程: 前面要开启一个主窗口root_window,然后进入到调用子线程 que = Queue.Queue() ...

  2. python 线程 的类库_python类库32[多线程]

    一 python 多线程 因为CPython的实现使用了Global Interpereter Lock(GIL),使得python中同一时刻只有一个线程在执行,从而简化了python解释器的实现,且 ...

  3. python中线程和进程_python中线程和进程的简单了解

    一.操作系统.应用程序 1.硬件:硬盘.cpu.主板.显卡........ 2.装系统(本身也是一个软件): 系统就是一个由程序员写出来的软件,该软件用于控制计算机得硬盘,让他们之间进行互相配合. 3 ...

  4. python gevent模块 下载_Python中的多任务,并行,并发,多线程,多进程,协程区别...

    多任务 CPU承担了所有的计算任务.一个CPU在一个时间切片里只能运行一个程序.当我们想同时运行多于一个程序的时候,就是多任务,例如同时运行微信,QQ,浏览器等等.多任务的目的是提升程序的执行效率,更 ...

  5. python协程库_python中协程的详解(附示例)

    本篇文章给大家带来的内容是关于python中协程的详解(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 协程,又称微线程,纤程.英文名Coroutine 协程看上去也是子程序 ...

  6. 多线程怎么保证数据安全_Python threading实现多线程 提高篇 线程同步,以及各种锁...

    本文主要讲多线程的线程之间的资源共享怎么保持同步. 多线程基础篇见,木头人:Python threading实现多线程 基础篇 Python的多线程,只有用于I/O密集型程序时效率才会有明显的提高,如 ...

  7. python管道怎么使用_python中管道用法入门实例

    python中管道用法入门实例 本文实例讲述了python中管道用法.分享给大家供大家参考.具体如下: #!coding=utf-8 import multiprocessing def consum ...

  8. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  9. java怎样获取线程的进度_java中的多线程——进度2

    多线程总结: 1,进程和线程的概念. |--进程:是一块包含了某些资源的内存区域.操作系统利用进程把它的工作划分为一些功能单元: 最小的内存单元: 是具有一定独立功能的程序关于某个数据集合上的一次运行 ...

最新文章

  1. Arthritis Rheumatology:张烜+王军发表系统性红斑狼疮患者的肠道菌群变化
  2. 网络推广计划浅析外链发布要遵循的几点小技巧!
  3. 「雅礼集训 2017 Day5」珠宝
  4. 【机器视觉】 ifelse算子(已废弃)
  5. MPMovieplayercontroller
  6. 我是程序员,每一天都太难了!
  7. 使用 ABAP 代码向百度网站发起请求并收到回应
  8. 携程在港挂牌:两次疫情两次上市 穿越周期初心不灭
  9. mysql数据库比较,各数据库不同之处
  10. 鹅厂员工平均月薪7万刷屏!公司每天赚9.5亿,养5.46万人
  11. Python爬虫最细致的讲解,Python爬虫之Python,爬虫入门
  12. 基于单片机的智能照明控制系统设计
  13. 谷歌五笔输入法电脑版_一种比拼音打字更快的输入法,为何却很少有人用
  14. linux移动文件夹覆盖,linux 批量文件移动及复制覆盖
  15. 高效能人士的七个习惯读后感与总结概括-(第四章)
  16. BLE Mesh (9) —— Mesh beacons
  17. 计算机相关知识——阻塞和非阻塞,同步和异步等相关概念
  18. Bootstrap 面包屑导航(Breadcrumb)
  19. MySQL建表1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL
  20. Android接入支付宝授权_小白教程

热门文章

  1. c语言二叉树的遍历菜单系统,二叉树遍历C语言的实现
  2. mysql 分区创建
  3. KMS激活windows 2008序列号
  4. Pertii型管与pertii型供热管的优势
  5. webstorm安装插件失败怎么办?
  6. 自学爬虫项目(二)一一利用selenium模拟淘宝登录,爬取商品数据
  7. 通达信可以使用实盘接口吗?这有你需要了解的。
  8. 反转了,中国光刻机取得突破,ASML或向中国出售14纳米以下光刻机
  9. 640×640的jpg图像一般多少字节
  10. CV | Emotionally Enhanced Talking Face Generation论文详解及代码实现