知行编程网知行编程网  2022-09-17 23:00 知行编程网 隐藏边栏  111 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python sleep和wait对比分析的相关知识,包括python的sleep,以及wait和sleep方法这些编程知识,希望对大家有参考作用。

python sleep和wait对比分析


本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。



1、相同点


sleep和wait都是用来进行线程控制,都可以使线程阻塞。

(1) sleep(毫秒)可以指定时间自动唤醒他。如果时间不够,只能调用interrupt()强制中断; 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() 可以暂停程序的执行,暂停时间可以根据函数传递的值来确定。




的使用时,为了线程的顺利进行,我们会使用函数来对某个线程进行暂停运行。在多线程中有两个函数可以实现


和wait


,不过它们在使用时也有不同之处。

以上是python sleep和wait的对比分析。相信看完文章你已经可以分辨出它们的区别和联系了,要特别注意释放锁的步骤。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享