2016/05/03(接口 买票 临界资源同步锁)

package com.wode.test;

/**
 *
 * @author Administrator 创建一个票类
 */
public class Ticket implements Runnable {

 private int ticket = 10;

 @Override
 public void run() {
  //synchronized 同步代码锁   对临界资源ticket 上锁 以免出现不同的接口同时访问到同一个资源 
  //就如买票一样 不能卖出两张相同的票  就得使用同步代码锁
  synchronized (this) {
   for (int i = 0; i < ticket; i++) {
    try {
     Thread.sleep(100);
     String name = Thread.currentThread().getName();
     System.out.println(name + "出售" + ticket + "号票");
     ticket--;
    } catch (InterruptedException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
    
   }

  }

 }

}

 

 

 

package com.wode.test;
/**
 *
 * @author Administrator
 *开始 买票
 */
public class SellTicket {

 public static void main(String[] args) {
  //分别创建四个窗口买票
  Thread thread = new Thread(new Ticket());
  Thread t1 = new  Thread(thread,"一号窗口");
  Thread t2 = new  Thread(thread,"二号窗口");
  Thread t3 = new  Thread(thread,"三号窗口");
  Thread t4 = new  Thread(thread,"四号窗口");
  t1.start();
  t2.start();
  t3.start();
  t4.start();
 }
}

 

posted @ 2016-05-03 20:54  丨她心如海般难测  阅读(131)  评论(0编辑  收藏  举报