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的Django框架中的URL配置与松耦合
Jul 15 Python
Python+django实现文件下载
Jan 17 Python
Python使用redis pool的一种单例实现方式
Apr 16 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
Apr 14 Python
Python中元组,列表,字典的区别
May 21 Python
利用python实现在微信群刷屏的方法
Feb 21 Python
Selenium python时间控件输入问题解决方案
Jul 22 Python
安装并免费使用Pycharm专业版(学生/教师)
Sep 24 Python
Python Selenium库的基本使用教程
Jan 04 Python
Matlab如何实现矩阵复制扩充
Jun 02 Python
pytorch中的torch.nn.Conv2d()函数图文详解
Feb 28 Python
python中Pyqt5使用Qlabel标签播放视频
Apr 22 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中使用redis队列操作实例代码
2013/02/07 PHP
Laravel5.5新特性之友好报错以及展示详解
2017/08/13 PHP
jquery 简单图片导航插件jquery.imgNav.js
2010/03/17 Javascript
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
使用简洁的jQuery方法实现隔行换色功能
2014/01/02 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
详解JS面向对象编程
2016/01/24 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
Layui 设置select下拉框自动选中某项的方法
2018/08/14 Javascript
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
VUE中V-IF条件判断改变元素的样式操作
2020/08/09 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
跟老齐学Python之一个免费的实验室
2014/09/14 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
Python安装OpenCV的示例代码
2020/03/05 Python
Python爬虫之Selenium鼠标事件的实现
2020/12/04 Python
使用CSS实现弹性视频html5案例实践
2012/12/26 HTML / CSS
家用个人磨皮机:Trophy Skin
2017/03/30 全球购物
Kipling澳洲官网:购买凯浦林包包
2020/12/17 全球购物
《故都的秋》教学反思
2014/04/15 职场文书
社会公德演讲稿
2014/05/20 职场文书
中学清明节活动总结
2014/07/04 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
2014年幼儿园教师工作总结
2014/11/08 职场文书
2014年民政工作总结
2014/11/26 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
2016年教师寒假学习心得体会
2015/10/09 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python
Python移位密码、仿射变换解密实例代码
2021/06/27 Python
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS
Go微服务项目配置文件的定义和读取示例详解
2022/06/21 Golang