标签:style color 使用 io strong for art ar
卖出的票为负数的情况:
class MyThread22 implements Runnable {   
    private int ticket = 10;
    public void run() {   
        for (int i = 0; i < 100; i++) {     
            if (ticket > 0) {    
                try {    
                    Thread.sleep(1000);     
                } catch (InterruptedException e) {    
                    e.printStackTrace();    
                }    
                System.out.println("Saling: ticket= " + ticket--);    
            }    
        }    
    }    
}
public class SyncDemo01 {   
    public static void main(String[] args) {    
        MyThread22 mt = new MyThread22();    
        Thread t1 = new Thread(mt);    
        Thread t2 = new Thread(mt);    
        Thread t3 = new Thread(mt);    
        t1.start();     
        t2.start();      
        t3.start();      
    }    
}
使用同步方法解决此问题:
class MyThread30 implements Runnable {   
    private int ticket = 20;
    public void run() {   
        for (int i = 0; i < 100; i++) {    
            this.sale();    
        }    
    }
    public synchronized void sale() {    
        if (ticket > 0) {    
            try {    
                Thread.sleep(300);    
            } catch (InterruptedException e) {    
                e.printStackTrace();    
            }    
            System.out.println("saling: ticket=" + ticket--);    
        }    
    }    
}
public class SyncDemo03 {   
    public static void main(String[] args) {    
        MyThread30 mt = new MyThread30();    
        Thread t1 = new Thread(mt);    
        Thread t2 = new Thread(mt);    
        Thread t3 = new Thread(mt);    
        t1.start();    
        t2.start();    
        t3.start();    
    }    
}
标签:style color 使用 io strong for art ar
原文地址:http://www.cnblogs.com/vonk/p/3895282.html