先给大家推荐翻滚吧挨踢男的博客Python菜鸟学习手册15----多线程写的又有趣又易于理解

第一个demo我就踩了一次坑:

def foo(tag, delay):count = 0while count < 5:time.sleep(delay)count += 1print("%s:%s" % (tag, time.ctime(time.time())))try:_thread.start_new_thread(foo, ("thread1", 2))_thread.start_new_thread(foo, ("thread2", 5))except:print("error")

报错了Unhandled exception in thread started by Error in sys.excepthook

然后网友们说在try最后面加个延时函数time.sleep(3)。但是只打印了两个。这是为什么呢?

首先我们先分析一下,为什么最后要加一个sleep?time.sleep(delay)是子线程来执行的,就是我们新建thread1和thread2。而我们的主线程执行的就是try后面加的time.sleep(3)。故事是这样的,在某一天,主线程被命令睡觉了,然后它睡了一会,然后醒来发现他该去死了,然后主线程就去死了,子线程看见主线程死了,悲痛欲绝,“MD我也不活了”,两个子线程也去死了。他们都死光后留下了一个错误“Unhandled exception in thread started by Error in sys.excepthook”而且只打印了两个信息。

聪明的网友们为了让子线程得以打印信息就挖了一个坑给主线程:

在整个程序最后面添加:

while(1):pass

这个坑太深主线程不能跳出来,只能由码农们强制终止程序,但也成功避免了主程序去死。在java里面sleep是不会交出CPU使用权,在python里面呢?在看过知乎大牛们的看法。

Python中的多线程只能利用单核,不交出使用权大家都是用不了。

Python多线程 坑Unhandled exception in thread started by Error in sys.excepthook相关推荐

  1. Python报错: Unhandled exception in thread started by Error in sys.excepthook

    今天要写个简单脚本,模拟同时50个用户往服务器上传东西. 就简单用 thread.start_new_thread(func, ()) 结果运行的时候报错: Unhandled exception i ...

  2. 解决pycharm运行多线程程序报错Unhandled exception in thread started by sys.excepthook is missing

    运行报错实例代码: import time import threaddef timer(no, interval):cnt = 0 while cnt < 3:print 'Thread:(% ...

  3. python多线程返回值问题重写Thread类的run方法

    python多线程使用 文章目录 python多线程使用 一.案例 二.说明 1.针对第一种是有返回值的 ,可以通过future.result() 去拿到每个线程返回值 2.无返回值问题 3.我们可以 ...

  4. Python 多线程总结(1)- thread 模块

    thread 模块 1. 单线程 首先看下单线程程序运行的例子,如下所示, import timedef loop0():print 'start loop0 begin', time.ctime() ...

  5. python多线程坑_python多线程的坑

    问题记录 1.在for循环下创建线程,会一次性全部创建,消耗内存 import threading def test(): print('test') for i in range(1000); t ...

  6. python 踩坑之解决django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.Did you insta

    1. 电脑无意点了升级之后就各种不正常,之前运行好好的django项目,突然出现 我明明是安装了mysqlclient的,执行pip3 freeze能看到实际上我已经安装了mysqlclient. 2 ...

  7. python 多线程 线程如何获得返回值 (重写threading.Thread类)

    重写threading.Thread类: # -*- coding: utf-8 -*- """ @File : dontla_ThreadClass.py @Time ...

  8. 【python】Exception in thread Thread-1:Traceback (most recent call last)

    用多线程和队列解决生产者.消费者问题时程序报错: Exception in thread Thread-1: Traceback (most recent call last):   File &qu ...

  9. Python多线程thread与threading实现

    python是支持多线程的,并且是native的线程.主要是通过thread和threading这两个模块来实现的. python的thread模块是比较底层的模块,python的threading模 ...

最新文章

  1. 实现点击下载文件的几种方法
  2. python培训班时间 费用-深圳python培训班大概多少费用
  3. python的就业方向和前景-2020年Python就业方向、就业前景分析
  4. ASP.NET Web下基于Forms的验证
  5. 拳王虚拟项目公社:闲鱼怎么卖虚拟资源商品,会不会被封号?虚拟资源自动化出售
  6. 继iptables之后的新一代包过滤框架是nftables
  7. 以用户为中心的SNS站点数据库设计及实现
  8. java对rgb取反_颜色取反 rgb COLORREF | 学步园
  9. 线性表链式存储的基本操作
  10. Mac 配置maven的环境变量
  11. coolfire文章之八
  12. atmega328p引脚图_【ATMEGA328P-PU PDF数据手册】_中文资料_引脚图及功能_(爱特美尔 ATMEL)-采芯网...
  13. kettle数据库乱码问题
  14. 【PC工具】更新U盘SD卡测试工具,速度测试,坏块测试查找
  15. xshell上传文件到Linux
  16. vue截取一个字符串_字符串截取方法
  17. Ubuntu设置自动登录
  18. 妙味课堂:JavaScript初级--第11课:字符串、查找高亮显示
  19. Android打字机动画,Android自定义View实现打字机效果
  20. 颜宁:学术圈问题很多,也不分国籍,希望年轻一代守住底线

热门文章

  1. arm汇编中mov、movs、movw、movl、movb解析
  2. Numpy *****
  3. 小猪佩奇剧本台词(1-4季)小猪佩奇剧本(word)版下载
  4. Skywalking新版本浏览器端监控
  5. 木马的攻击与防御(MSF)
  6. 【转载】全志的 Linux 内核后门分析
  7. 小程序 账本小记 统计月收入 月支出 源码分享
  8. python爬虫工资高吗_六星教育:Python爬虫工作好做吗?爬虫工资高吗?
  9. 图解DFT,DTFT,DFS,FFT,FT,FS区别与联系
  10. 用Win10秘钥激活Windows 10:更改产品密钥与密钥重置