publicclassABC{ static Lock lock = new ReentrantLock(); static Condition ca = lock.newCondition(); static Condition cb = lock.newCondition(); static Condition cc = lock.newCondition();
publicstaticvoidmain(String[] args){ A a = new A(); B b = new B(); C c = new C(); ExecutorService executor = Executors.newCachedThreadPool(); executor.execute(a); executor.execute(b); executor.execute(c); lock.lock(); try { ca.signal(); } finally { lock.unlock(); } executor.shutdown(); }