package 同步线程;public class test5 {// t1 come->t1 wait(释放t1在person上的锁)->t2 come->t2 over->t1 overfinal static Object person =new Object();//静态public static class T1 extends Thread{public void run(){synchronized (person){//给静态上锁System.out.println(System.currentTimeMillis()+\"T1 come\");try{System.out.println(System.currentTimeMillis()+\"T1 wait\");person.wait();}catch (InterruptedException r){r.getStackTrace();}System.out.println(System.currentTimeMillis()+\"T1 over\");}}}public static class T2 extends Thread{public void run(){synchronized (person){System.out.println(System.currentTimeMillis()+\"T2 come\");person.notify();System.out.println(System.currentTimeMillis()+\"T2 over\");try{Thread.sleep(2000);}catch (InterruptedException r){r.getStackTrace();}}}}public static void main(String args[]){try{Thread thread1=new T1();//线程1Thread thread2=new T2();//线程2thread1.start();thread2.start();}catch (Exception e){e.printStackTrace();}}}
notify()wait()和synchronized一起用的案例
未经允许不得转载:爱站程序员基地 » notify()wait()和synchronized一起用的案例