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中内置的NotImplemented类型的用法
Mar 31 Python
python检查指定文件是否存在的方法
Jul 06 Python
Python使用smtplib模块发送电子邮件的流程详解
Jun 27 Python
Python原始字符串与Unicode字符串操作符用法实例分析
Jul 22 Python
一条命令解决mac版本python IDLE不能输入中文问题
May 15 Python
详解配置Django的Celery异步之路踩坑
Nov 25 Python
在Python中居然可以定义两个同名通参数的函数
Jan 31 Python
Linux下远程连接Jupyter+pyspark部署教程
Jun 21 Python
opencv导入头文件时报错#include的解决方法
Jul 31 Python
Python jieba库用法及实例解析
Nov 04 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
Feb 11 Python
浅谈Python __init__.py的作用
Oct 28 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中static,const与define的使用区别
2013/06/18 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
PHP-FPM运行状态的实时查看及监控详解
2016/11/18 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
arguments对象
2006/11/20 Javascript
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
javascript截取字符串(通过substring实现并支持中英文混合)
2013/06/24 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
js实现返回顶部效果
2017/03/10 Javascript
vue中axios解决跨域问题和拦截器的使用方法
2018/03/07 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
2019/11/26 Javascript
原生js实现日历效果
2020/03/02 Javascript
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
python使用scrapy解析js示例
2014/01/23 Python
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
Python socket编程实例详解
2015/05/27 Python
python学习笔记之调用eval函数出现invalid syntax错误问题
2015/10/18 Python
详解python中的装饰器
2018/07/10 Python
python对矩阵进行转置的2种处理方法
2019/07/17 Python
python使用梯度下降算法实现一个多线性回归
2020/03/24 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
html5中svg canvas和图片之间相互转化思路代码
2014/01/24 HTML / CSS
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
应届生船舶驾驶求职信
2013/10/19 职场文书
美发活动策划书
2014/01/14 职场文书
新农村建设典型材料
2014/05/31 职场文书
企业法人代表证明书
2014/09/27 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
导游词之无锡华莱坞
2019/12/02 职场文书
Python控制台输出俄罗斯方块的方法实例
2021/04/17 Python
教你利用python实现企业微信发送消息
2021/05/23 Python