本文教程操作环境: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的对比分析。相信看完文章你已经可以分辨出它们的区别和联系了,要特别注意释放锁的步骤。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python中的函数和方法有什么区别09/18
- ♥ python如何获取固定数量的单词?12/18
- ♥ Python导入模块的import语句01/11
- ♥ python r 代表什么08/29
- ♥ Python这么火,你想学吗?听听华为工程师怎么说...12/05
- ♥ python如何解析网页数据01/04
内容反馈