由于线程之间的执行是抢占式的,所以线程之间的执行的先后顺序难以预知。但在实际开发中有时我们需要各个线程以特定的顺序执行,例如生产者与消费者模型中
在Java多线程中,要完成这个协调工作会涉及如下方法
wait()/wait(long timeout):让当前线程进入等待状态notify():唤醒在当前对象上等待的线程notifyAll():同上注意:wait,notify,notifyAll都是Object类的方法,这意味着可以使用任意类的实例能都调用这些方法
wait()方法:线程执行到wait就会发生阻塞,