java 使用同步代码块解决卖票为负的问题

 1 class MyThread implements Runnable{
2 private int ticket=5;
3 public void run(){
4 for(int i=0;i<100;i++){
5 synchronized (this){
6 if(ticket>0){
7 try{
8 Thread.sleep(300);
9 }catch(InterruptedException e){
10 e.printStackTrace();
11 }
12 System.out.println("卖票:ticket="+ticket--);
13 }
14 }
15 }
16 }
17 };
18 public class SyncDemo1 {
19 public static void main(String[] args) {
20 MyThread mt=new MyThread();
21 Thread t1=new Thread(mt);
22 Thread t2=new Thread(mt);
23 Thread t3=new Thread(mt);
24 t1.start();
25 t2.start();
26 t3.start();
27 }
28 }

 

posted @ 2012-03-13 19:47  谈笑风生膜法师  阅读(533)  评论(4编辑  收藏  举报