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中find()方法的使用
May 18 Python
Python中规范定义命名空间的一些建议
Jun 04 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
Dec 12 Python
python中模块查找的原理与方法详解
Aug 11 Python
python中requests使用代理proxies方法介绍
Oct 25 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
Jun 09 Python
python list转矩阵的实例讲解
Aug 04 Python
Python嵌套式数据结构实例浅析
Mar 05 Python
python机器人运动范围问题的解答
Apr 29 Python
Python 爬虫实现增加播客访问量的方法实现
Oct 31 Python
Pandas实现dataframe和np.array的相互转换
Nov 30 Python
python的变量和简单数字类型详解
Sep 15 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
自己动手做一个SQL解释器
2006/10/09 PHP
使用composer 安装 laravel框架的方法图文详解
2019/08/02 PHP
JQuery 常用方法基础教程
2009/02/06 Javascript
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
浅析JS中document对象的一些重要属性
2014/03/06 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
ANGULARJS中用NG-BIND指令实现单向绑定的例子
2014/12/08 Javascript
javascript生成不重复的随机数
2015/07/17 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
最简单的tab切换实例代码
2016/05/13 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
2016/05/13 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析
2020/01/06 Javascript
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
JavaScript实现tab栏切换效果
2020/03/16 Javascript
three.js中多线程的使用及性能测试详解
2021/01/07 Javascript
Python文件的读写和异常代码示例
2017/10/31 Python
python获取当前目录路径和上级路径的实例
2018/04/26 Python
python Spyder界面无法打开的解决方法
2018/04/27 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
2018/07/11 Python
实例讲解Python3中abs()函数
2019/02/19 Python
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
Python中的类与类型示例详解
2019/07/10 Python
画pytorch模型图,以及参数计算的方法
2019/08/17 Python
python实现从wind导入数据
2019/12/03 Python
python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
2020/08/05 Python
如何通过python检查文件是否被占用
2020/12/18 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
ORACLE第二个十问
2013/12/14 面试题
优秀应届毕业生自荐书
2014/06/29 职场文书
通知函的格式
2015/04/27 职场文书