在Java中提供了两种多线程通信方式分别是利用Monitor实现通信方式和使用Condition实现线程通信方式。使用不同的线程同步方式也就相应的使用不同的线程通信方式。 ① 当使用synchronize同步时就会使用Monitor来实现线程通信,这里的Monitor其实就是锁对象,其利用object的wait,notify,notifyAll等方法来实现线程通信。 ② 当使用Lock进行同步时就是使用Condition来实现线程通信,Condition对象通过Lock创建出来依赖于Lock对象,使用其await,sign或signAll方法实现线程通信。