并发工具的使用以及原理
线程这块的一些工具类,基本都会以原理为主,通过分析别人代码的设计和实现,给自己提供积累一些方法和工具。 Condition 在前面学习 synchronized 的时候,有讲到 wait/notify 的 基本使用,结合 synchronized 可以实现对线程的通信。那 么这个时候我就在思考了,既然 J.U.C 里面提供了锁的实现 机制,那 J.U.C 里面有没有提供类似的线程通信的工具呢? 发现了一个 Condition 工具类。 Condition 是一个多线程协调通信的工具类,可以让某些线 程一起等待某个条件(condition),只有满足条件时,线程 才会被唤醒 Condition 的基本使用 ConditionWait public class ConditionDemoWait implements Runnable{ private Lock lock; private Condition condition; public ConditionDemoWait(Lock lock, Condition condition){ this.lock=lock; this.condition=condition; } @Override public void run() { System.out.println(