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 相关文章推荐
400多行Python代码实现了一个FTP服务器
May 10 Python
Python运行的17个时新手常见错误小结
Aug 07 Python
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
Apr 24 Python
python实现爬虫统计学校BBS男女比例(一)
Dec 31 Python
Python实现Linux的find命令实例分享
Jun 04 Python
使用apidocJs快速生成在线文档的实例讲解
Feb 07 Python
python中的&&及||的实现示例
Aug 07 Python
使用Django清空数据库并重新生成
Apr 03 Python
django为Form生成的label标签添加class方式
May 20 Python
python 实现图像快速替换某种颜色
Jun 04 Python
python中scrapy处理项目数据的实例分析
Nov 22 Python
Python中的datetime包与time包包和模块详情
Feb 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
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
PHP防CC攻击实现代码
2011/12/29 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
2014/08/14 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
2016/11/15 PHP
让焦点自动跳转
2006/07/01 Javascript
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
javascript 必知必会之closure
2009/09/21 Javascript
JavaScript.Encode手动解码技巧
2010/07/14 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
了解Javascript的模块化开发
2015/03/02 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
2016/01/22 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
2017/07/03 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
Vue中props的使用详解
2018/06/15 Javascript
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
修改NPM全局模式的默认安装路径的方法
2020/12/15 Javascript
用C++封装MySQL的API的教程
2015/05/06 Python
python字符串过滤性能比较5种方法
2017/06/22 Python
python tensorflow基于cnn实现手写数字识别
2018/01/01 Python
启动Atom并运行python文件的步骤
2018/11/09 Python
详解Python循环作用域与闭包
2019/03/21 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
简单几步用纯CSS3实现3D翻转效果
2019/01/17 HTML / CSS
详解移动端Html5页面中1px边框的几种解决方法
2018/07/24 HTML / CSS
《忆江南》教学反思
2014/04/07 职场文书
教师党员个人整改措施
2014/10/27 职场文书
骨干教师事迹材料
2014/12/17 职场文书
springBoot基于webSocket实现扫码登录
2021/06/22 Java/Android