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 11 Python
python实现计算倒数的方法
Jul 11 Python
Python实现简单多线程任务队列
Feb 27 Python
老生常谈python的私有公有属性(必看篇)
Jun 09 Python
Python优先队列实现方法示例
Sep 21 Python
python3爬取淘宝信息代码分析
Feb 10 Python
python opencv实现证件照换底功能
Aug 19 Python
PyCharm更改字体和界面样式的方法步骤
Sep 27 Python
Python函数基本使用原理详解
Mar 19 Python
服务器端jupyter notebook映射到本地浏览器的操作
Apr 14 Python
如何基于matlab相机标定导出xml文件
Nov 02 Python
python如何为list实现find方法
May 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
Content-type 的说明
2006/10/09 PHP
WordPress网站性能优化指南
2015/11/18 PHP
微信第三方登录(原生)demo【必看篇】
2017/05/26 PHP
thinkPHP框架RBAC实现原理分析
2019/02/01 PHP
给事件响应函数传参数的四种方式小结
2013/12/05 Javascript
JQuery实现鼠标移动到图片上显示边框效果
2014/01/09 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
JavaScript设计模式开发中组合模式的使用教程
2016/05/18 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
Vue.js组件间通信方式总结【推荐】
2018/11/23 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
vue+vant实现购物车全选和反选功能
2020/11/17 Vue.js
vue调用微信JSDK 扫一扫,相册等需要注意的事项
2021/01/03 Vue.js
[51:29]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第一场 11.05
2020/11/05 DOTA
python的id()函数解密过程
2012/12/25 Python
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
Python selenium根据class定位页面元素的方法
2019/02/26 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
Pytorch释放显存占用方式
2020/01/13 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
python 两种方法删除空文件夹
2020/09/29 Python
python tkinter的消息框模块(messagebox,simpledialog)
2020/11/07 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
房地产资料员岗位职责
2014/07/02 职场文书
优秀员工自荐书
2015/03/06 职场文书
银行中层干部培训心得体会
2016/01/11 职场文书