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实现的文件夹清理程序分享
Nov 22 Python
Python的Flask框架中@app.route的用法教程
Mar 31 Python
python uuid模块使用实例
Apr 08 Python
Python实现对excel文件列表值进行统计的方法
Jul 25 Python
Python 操作MySQL详解及实例
Apr 30 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
Jun 07 Python
python和flask中返回JSON数据的方法
Mar 26 Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 Python
python jenkins 打包构建代码的示例代码
Nov 29 Python
Python如何使用字符打印照片
Jan 03 Python
解决Tensorflow sess.run导致的内存溢出问题
Feb 05 Python
Python抓包并解析json爬虫的完整实例代码
Nov 03 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根据ip查询所在地区(非常有用,赶集网就用到)
2013/07/01 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
php实现的双向队列类实例
2014/09/24 PHP
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
JavaScript的继承的封装介绍
2013/10/15 Javascript
jquery siblings获取同辈元素用法实例分析
2016/07/25 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
2017/10/19 jQuery
vue2.0 子组件改变props值,并向父组件传值的方法
2018/03/01 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
性能优化篇之Webpack构建速度优化的建议
2019/04/03 Javascript
VUE写一个简单的表格实例
2019/08/06 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
[01:02:34]TFT vs VGJ.T Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
pyqt4教程之实现半透明的天气预报界面示例
2014/03/02 Python
Python中请使用isinstance()判断变量类型
2014/08/25 Python
python实现在sqlite动态创建表的方法
2015/05/08 Python
python一键升级所有pip package的方法
2017/01/16 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
python 实现检验33品种数据是否是正态分布
2019/12/09 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
Python调用飞书发送消息的示例
2020/11/10 Python
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物
超级英雄、电影和电视、乐队和音乐T恤:Loud Clothing
2019/09/01 全球购物
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
《广玉兰》教学反思
2014/04/14 职场文书
实训报告范文大全
2014/11/04 职场文书
Nginx+Tomcat实现负载均衡、动静分离的原理解析
2021/03/31 Servers
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
2021/05/22 Python
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android