天天看点

java 买票卖票

package example_SellTicket;

/*

 * //修饰方法 默认锁定当前对象 不让别人卖了

 * 有问题

 */

class A2 implements Runnable {

 public static int ticket = 100;

 String str = "我来是实现同步";



 public synchronized void run() {//修饰方法 默认锁定当前对象 不让别人卖了



 while (true) {
 

 if (ticket > 0) {

 System.out.println(Thread.currentThread().getName() + "正在买出第" + ticket + "张票");

 ticket--;

 } else {

 break;

 }
 

 }

 }

}



public class TicketTest4 {



 public static void main(String[] args) {

 A2 a = new A2();

 Thread t1 = new Thread(a);

 t1.start();

 Thread t2 = new Thread(a);

 t2.start();

 }

}



/*

 * synchronized (mutex) { API给你一个方法 说此方法是线程同步的,其实是说 此方法被synchronized修饰 多线程调用时

 * 达到互斥

 * 

 * }

 */      

继续阅读