sleep()方法和wait()方法的比较

发布时间 2023-12-21 23:27:08作者: Crazy_Joker

大家好,我是joker,希望你快乐。

sleep()方法和wait()方法都是让线程进入到等待状态。具体的一些区别我们下面来进行一个对比总结。

使用方式不同

wait() 方法必须配合 synchronized 一起使用,不然在运行时就会抛出IllegalMonitorStateException 的异常。

sleep()方法不需要,可以单独使用。

唤醒方式不同

sleep()方法,到达指定时间后不需要其他操作会自动唤醒。

wait()方法,如果调用超时时间参数的方法,到达指定时间后同样不需要其他操作会自动唤醒。如果调用无参方法,会一直等待,可以通过,notify(),notifyAll()方法进行唤醒。

释放资源不同

sleep()方法不会释放锁资源。

wait()方法会释放锁资源。

所属类不同

sleep()方法在Thread类中。

wait()方法在Object类中。