不同同步区域锁的有关问题
不同同步区域锁的问题
class Ticket implements Runnable//extends Thread // { private static int tick = 100; // Object obj = new Object(); boolean b = true; public void run() { if(b) while(true) show(); else { while(true) { synchronized(Ticket.class) { if(tick>0) { try{Thread.sleep(10);}catch(Exception e){} System.out.println(Thread.currentThread().getName()+"...code....:"+tick--); } } } } } public static synchronized void show() { if(tick>0) { try{Thread.sleep(10);}catch(Exception e){} System.out.println(Thread.currentThread().getName()+"....show...:"+tick--); } } } class ThisLock { public static void main(String[] args) { Ticket t = new Ticket(); Thread t1 = new Thread(t); Thread t2 = new Thread(t); t1.start(); try{Thread.sleep(10);}catch(Exception e){} t.b = false; t2.start(); } }