上一篇:
线程同步之synchronized关键字
wait
wait跟sleep方法的作用一样,也是让线程休眠,但是针对的对象不同。
- sleep: sleep是Thread类中的静态方法,是直接作用于线程的,在哪个线程调sleep,哪个线程就休眠,而且可以随时调用。sleep方法执行期间不会释放锁,其他线程也必须要等待sleep执行完毕后才有机会进入同步代码中。
- wait: wait是Object类中的一个普通方法,通过对象调用。但是必须在持有该对象锁的同步代码中调用,否则会抛出异常。wait方法会释放锁,其他线程可以在wait期间进入同步代码中。
我们先来看看Object对象中的方法,本篇博客需要关心的就是以下红框中的几个方法。
再来看看wai