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性能优化技巧
Mar 09 Python
Python实现的简单文件传输服务器和客户端
Apr 08 Python
python实现自动更换ip的方法
May 05 Python
Python实现数通设备端口使用情况监控实例
Jul 15 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
Feb 19 Python
解决Mac安装scrapy失败的问题
Jun 13 Python
django 环境变量配置过程详解
Aug 06 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
Aug 06 Python
使用python实现回文数的四种方法小结
Nov 24 Python
基于python实现监听Rabbitmq系统日志代码示例
Nov 28 Python
python中openpyxl和xlsxwriter对Excel的操作方法
Mar 01 Python
解决python绘图使用subplots出现标题重叠的问题
Apr 30 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二维数组排序方法(array_multisort usort)
2013/12/25 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
2015/05/13 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
PHP xpath提取网页数据内容代码解析
2020/07/16 PHP
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
Extjs4中Form的使用之本地hiddenfield
2013/11/26 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
轻松创建nodejs服务器(4):路由
2014/12/18 NodeJs
浅谈重写window对象的方法
2014/12/29 Javascript
js实现Select下拉框具有输入功能的方法
2015/02/06 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
2016/06/02 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
用自定义图片代替原生checkbox实现全选,删除以及提交的方法
2016/10/18 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
详解jQuery中的easyui
2018/09/02 jQuery
vue实现行列转换的一种方法
2019/08/06 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
js实现打字小游戏
2019/12/17 Javascript
用JS实现选项卡
2020/03/23 Javascript
JS实现简易贪吃蛇游戏
2020/08/24 Javascript
[59:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第二局
2016/03/04 DOTA
用Python将IP地址在整型和字符串之间轻松转换
2017/03/22 Python
Python实现模拟分割大文件及多线程处理的方法
2017/10/10 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
python获取Linux发行版名称
2019/08/30 Python
Python彻底删除文件夹及其子文件方式
2019/12/23 Python
社区安全检查制度
2014/02/03 职场文书
幼儿园师德师风心得体会
2016/01/12 职场文书
这样写python注释让代码更加的优雅
2021/06/02 Python
业余无线电通联Q语
2022/02/18 无线电