黑马程序员技术交流社区

标题: 在线程里的同步用了那个锁?类型是什么? [打印本页]

作者: b_boywindy    时间: 2012-2-20 22:24
标题: 在线程里的同步用了那个锁?类型是什么?
public class TicketDemo2 {
        public static void main(String[] args) {
                Ticket1 t = new Ticket1();
                Thread th1 = new Thread(t);
                Thread th2 = new Thread(t);
                th1.start();
                try {
                        Thread.sleep(10);
                } catch (Exception e) {
                        e.printStackTrace();}
                t.b = false;
                th2.start();
        }
}
class Ticket1 implements Runnable{//extends Thread{
        private static int tick = 100;
        boolean b = true;
        public void run(){
                if(b){
                        while(true){
                                synchronized (Ticket1.class) {       
                                        if(tick>0){               
                                                try {
                                                        Thread.sleep(10);
                                                } catch (InterruptedException e){
                                                        e.printStackTrace();
                                                }
                                                System.out.println(Thread.currentThread().getName()+" ..code : " +tick --);
                                        }
                                }
                        }
                }else{               
                        while(true){
                                show();
                        }
                }       
        }
               

        public static synchronized void show (){
                if(tick>0){
                        try {
                                Thread.sleep(10);
                        } catch (InterruptedException e) {
                                e.printStackTrace();
                        }
                        System.out.println(Thread.currentThread().getName()+" ..show.... : " +tick --);
                }
        }
}

在这个例子里用了Ticket1.class锁,类型为.class




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2