当前位置: 首页 > 图灵资讯 > 行业资讯> python sleep和wait对比分析

python sleep和wait对比分析

来源:图灵python
时间: 2024-09-12 10:19:35

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

1、相同点

sleep和wait都用于线程控制,可以阻挡线程。

(1)sleep(milliseconds)如果时间不到,只能调用intereput()强行打断,可以用时间指定自动醒来;wait()notify()/notifyAll()直接唤起.

(2)sleep是thread类的静态方法。 sleep的作用是在到达时恢复线程休眠的时间,也就是说,sleep将在收到时间到达事件时恢复线程 ; wait是object的方法,也就是说,wait方法可以调用到任何对象,wait方法将挂起调用器的线程,直到其他线程调用同一对象的notify方法将重新激活调用器

(3)sleep()是暂停某一线程一段时间,其控制范围由当前线程决定,wait()由某个确定的对象调用。

2、slep和wait的区别

(1)这两种方法来自Thread和Objectttect

(2)最重要的是sleep方法不释放锁,而wait方法释放锁,使其他线程可以使用同步控制块或方法。

(3)wait,notify和notifyall只能在同步控制方法或同步控制块中使用,sleep可以在任何地方使用

(4)slep必须捕获异常,而wait、notify和notifyall不需要捕获异常

3、实例

importtime
time.sleep(5)
time.sleep(N)

上面的time.sleep()程序执行可以暂停,暂停时间可以根据函数传输的值来确定。

在使用多线程时,为了使线程顺利进行,我们将使用函数暂停某个线程。多线程中有两个函数可以实现sleep和wait,但它们在使用时也有所不同。

以上是python sleep和wait的对比分析,相信大家看完文章都能分辨出它们的区别和联系,在释放锁的这一步要特别注意。