package com.brianway.learning.java.multithread.lock.example2; /** * Created by Brian on 2016/4/15. */ /** * P210 * 使用多个condition实现通知部分线程 */ public class Run2_MustUseMoreCondition { public static void main(String[] args) throws InterruptedException { MyService service = new MyService(); ThreadA a = new ThreadA(service); a.setName("A"); a.start(); ThreadB b = new ThreadB(service); b.setName("B"); b.start(); Thread.sleep(3000); service.signalAll_A(); } } /* 输出: awaitA begin时间为1460687242048 ThreadName=A awaitB begin时间为1460687242048 ThreadName=B signalAll_A 时间为1460687245048 ThreadName=main awaitA end 时间为1460687245048 ThreadName=A A锁释放了 时间为1460687245048 ThreadName=A */