大家好,我是joker,希望你快乐。
sleep()方法和wait()方法都是让线程进入到等待状态。具体的一些区别我们下面来进行一个对比总结。
使用方式不同
wait() 方法必须配合 synchronized 一起使用,不然在运行时就会抛出IllegalMonitorStateException 的异常。
sleep()方法不需要,可以单独使用。
唤醒方式不同
sleep()方法,到达指定时间后不需要其他操作会自动唤醒。
wait()方法,如果调用超时时间参数的方法,到达指定时间后同样不需要其他操作会自动唤醒。如果调用无参方法,会一直等待,可以通过,notify(),notifyAll()方法进行唤醒。
释放资源不同
sleep()方法不会释放锁资源。
wait()方法会释放锁资源。
所属类不同
sleep()方法在Thread类中。
wait()方法在Object类中。
标签:释放,唤醒,sleep,方法,类中,wait From: https://www.cnblogs.com/Crazy_Joker/p/17919297.html