python sleep和wait对比总结


Posted in Python onFebruary 03, 2021

在多线程的使用时,为了线程的顺利进行,我们会使用函数来对某个线程进行暂停运行。在多线程中有两个函数可以实现sleep和wait,不过它们在使用时也有不同之处。为了帮助大家更好理清它们之间的相同与区别点,本篇就python中sleep和wait两个函数展开具体的分析。

1.相同点

sleep和wait都是用来进行线程控制,都可以使线程阻塞。

(1)sleep(milliseconds)可以用时间指定来使他自动醒过来,如果时间不到你只能调用interreput()来强行打断;wait()可以用notify()/notifyAll()直接唤起.

(2)sleep是Thread类的静态方法。 sleep的作用是让线程休眠制定的时间,在时间到达时恢复,也就是说sleep将在接到时间到达事件事恢复线程 ; wait是Object的方法,也就是说可以对任意一个对象调用wait方法,调用wait方法将会将调用者的线程挂起,直到其他线程调用同一个对象的notify方法才会重新激活调用者

(3)sleep()是让某个线程暂停运行一段时间,其控制范围是由当前线程决定,wait()是由某个确定的对象来调用的。

2.sleep和wait的区别

(1)这两个方法来自不同的类分别是Thread和Object

(2)最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。

(3)wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用

(4)sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常

3.实例

import time
time.sleep(5)
time.sleep(N)

上面的time.sleep()可以暂停程序的执行,暂停的时间可以根据函数传的值来定。

到此这篇关于python sleep和wait对比总结的文章就介绍到这了,更多相关python sleep和wait对比分析内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python使用poplib模块和smtplib模块收发电子邮件的教程
Jul 02 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
May 31 Python
python+opencv实现动态物体追踪
Jan 09 Python
谈谈python中GUI的选择
Mar 01 Python
django从请求到响应的过程深入讲解
Aug 01 Python
详解python中Numpy的属性与创建矩阵
Sep 10 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
Dec 10 Python
用pyqt5 给按钮设置图标和css样式的方法
Jun 24 Python
django的ORM操作 删除和编辑实现详解
Jul 24 Python
基于python二叉树的构造和打印例子
Aug 09 Python
Pytorch中膨胀卷积的用法详解
Jan 07 Python
python Selenium 库的使用技巧
Oct 16 Python
Python实现简单猜数字游戏
Feb 03 #Python
python 实现图片裁剪小工具
Feb 02 #Python
python向xls写入数据(包括合并,边框,对齐,列宽)
Feb 02 #Python
Python datetime模块的使用示例
Feb 02 #Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
Feb 02 #Python
python中子类与父类的关系基础知识点
Feb 02 #Python
python中time包实例详解
Feb 02 #Python
You might like
可定制的PHP缩略图生成程式(需要GD库支持)
2007/03/06 PHP
使用PHPMailer实现邮件发送代码分享
2014/10/23 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
dojo 之基础篇
2007/03/24 Javascript
JS判断当前日期是否大于某个日期的实现代码
2012/09/02 Javascript
JS修改css样式style浅谈
2013/05/06 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
js实现图片在未加载完成前显示加载中字样
2014/09/03 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
vue-router 学习快速入门
2017/03/01 Javascript
JavaScript类数组对象转换为数组对象的方法实例分析
2018/07/24 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
Python2.x中文乱码问题解决方法
2015/06/02 Python
详解Python中的Cookie模块使用
2015/07/06 Python
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
详解python单元测试框架unittest
2018/07/02 Python
django-allauth入门学习和使用详解
2019/07/03 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
2019/10/14 Python
基于python操作ES实例详解
2019/11/16 Python
Python库安装速度过慢解决方案
2020/07/14 Python
python从ftp获取文件并下载到本地
2020/12/05 Python
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
基于HTML5 FileSystem API的使用介绍
2013/04/24 HTML / CSS
请说出几个常用的异常类
2013/01/08 面试题
材料物理专业个人求职信
2013/12/15 职场文书
2014年消防工作实施方案
2014/02/20 职场文书
拓展策划方案
2014/06/03 职场文书
缅怀先烈演讲稿
2014/09/03 职场文书
详解MySQL InnoDB存储引擎的内存管理
2021/04/08 MySQL
angular异步验证器防抖实例详解
2022/03/31 Javascript
CSS 实现角标效果的完整代码
2022/06/28 HTML / CSS