场景是这样的:开启多个线程访问外部 api ,过一段时间,发现所有线程死锁。

环境: python2.6.7 centos7.1 urllib2 , suse 下无此问题。

dump 如下:

Thread 161 (Thread 0x7f80de4e9700 (LWP 12459)):

#0 0x00007f80e4cacb6c in __lll_lock_wait_private () from /lib64/libc.so.6

#1 0x00007f80e4cc2efd in _L_lock_746 () from /lib64/libc.so.6

#2 0x00007f80e4cc2cb5 in __check_pf () from /lib64/libc.so.6

#3 0x00007f80e4c88f69 in getaddrinfo () from /lib64/libc.so.6

#4 0x00007f80e12faa3c in socket_getaddrinfo (self=, args=) at /home/basic/Python-2.7.6/Modules/socketmodule.c:4198

#5 0x00000000004b5726 in call_function (oparg=, pp_stack=0x7f80de4e6b30) at Python/ceval.c:4021

#6 PyEval_EvalFrameEx ([email protected]=0x7f7fa403c980, [email protected]=0) at Python/ceval.c:2666

看上去是 getaddrinfo 引发的死锁,不知道大家没有遇到这个坑,请大家帮忙给些建议,谢谢!

python死锁案例_Python 多线程死锁相关推荐

  1. python死锁案例_python避免死锁方法实例分析

    本文实例讲述了python避免死锁方法.分享给大家供大家参考.具体分析如下: 当两个或者更多的线程在等待资源的时候就会产生死锁,两个线程相互等待. 在本文实例中 thread1 等待thread2释放 ...

  2. python线程唤醒_python 多线程

    python 多线程 真正的多线程吗? 对于多核处理器,在同一时间确实可以多个线程独立运行,但在Python中确不是这样的了.原因在于,python虚拟机中引入了GIL这一概念.GIL(Global ...

  3. java多线程死锁代码_java多线程死锁 编写高质量代码:改善Java程序的151个建议...

    java多线程死锁 编写高质量代码:改善Java程序的151个建议 第1章 Java开发中的通用方法和准则 建议1:不要在常量和变量中出现易混淆的字母 建议2:莫让常量蜕变成变量 建议3:三元操作符的 ...

  4. Python并发编程:多线程-死锁现象与递归锁

    一 死锁现象 所谓死锁:是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待 ...

  5. python 线程锁_python多线程编程(3): 使用互斥锁同步线程

    问题的提出 上一节的例子中,每个线程互相独立,相互之间没有任何关系.现在假设这样一个例子:有一个全局的计数num,每个线程获取这个全局的计数,根据num进行一些处理,然后将num加1.很容易写出这样的 ...

  6. python 上市公司 概念股_python多线程和多进程获取所有上市公司的实时数据

    前一天简单介绍了python怎样获取历史数据和实时分笔数据,那么如果要获取所有上市公司的实时分笔数据,应该怎么做呢? 肯定有人想的是,用一个列表存储所有上市公司的股票代号,然后无限循环获取不就得了吗? ...

  7. python建筑案例_Python数据分析实战-链家北京二手房价分析

    前言 最近在自学Python,通过学习大家的分享案例,看到使用Python进行较多的主要4个方面:爬虫,数据处理,数据可视化以及机器学习建模.对我来说目标就是: 熟练使用numpy pandas 进行 ...

  8. python线程创建对象_python 多线程(一)

    (一) 线程概述 几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程.当一个程序运行时,内部可能包含多个顺序执流,每个顺序执行流就是一个线程. 进程和线程 ...

  9. 多线程python实现方式_python多线程的两种实现方式(代码教程)

    本篇文章给大家带来的内容是关于python多线程的两种实现方式(代码教程),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 线程是轻量级的进程,进程中可划分出多个线程,线程可独立的调度 ...

最新文章

  1. mysql groupby 日期_sql 语言 groupBy 分组统计时间段解决方案
  2. linux性能并发 带机量,性能测试笔记(一):吞吐量与并发数
  3. jQuery Mobile滚动事件
  4. SecSolar:为代码“捉虫”,让你能更专心写代码
  5. neo4j docker
  6. sysstat linux系统性能分析
  7. 【算法导论】0-1背包问题 与 部分背包
  8. Makedown文件保存问题
  9. android 微信 导出,Android微信数据导出
  10. python opencv车辆测速视频汽车速度检测入侵检测测速
  11. O365 Onedrive使用手册
  12. 你知道你的手机上有哪些传感器吗?
  13. 网店系统SHOP++、V5shop、shopex全程分析
  14. [USACO06DEC]最少的硬币The Fewest Coins
  15. android 位移传感器 坐标,位移传感器
  16. Windows 下安装MIMIC-IV
  17. Token的基本介绍
  18. [学习笔记] windows 下安装nginx和php以及添加yaf框架和redis扩展
  19. 2022-2028年中国植物工厂行业发展动态及投资规划分析报告
  20. 基于Python的PyGame模块实现泡泡龙小游戏(Forgger2)

热门文章

  1. matlab图像水印技术研究,动态图像数字水印matlab的实现开题报告.doc
  2. 虚拟机网卡的相关知识
  3. 解析RocketMQ的消息索引文件consumequeue
  4. 高性能MySQL读书笔记 (五)
  5. 《LoadRunner性能测试巧匠训练营》——1.4 性能测试分类详解
  6. Adobe Photoshop源代码以及3800万用户信息泄漏
  7. HDU_1711 Number Sequence(KMP)
  8. 如何检查计算机账号克隆
  9. Some thoughts on dfs
  10. 软件测试——测试基础