黑马程序员技术交流社区

标题: 模拟售票 线程安全 [打印本页]

作者: fmi110    时间: 2015-9-22 21:26
标题: 模拟售票 线程安全
aaaaaaaaaaa
  1. package ticket.demo;

  2. public class SellDemo {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 SharedTicket st = new SharedTicket();
  8.                 new Thread(st).start();
  9.                 new Thread(st).start();
  10.                 new Thread(st).start();

  11.         }

  12. }

  13. class SharedTicket implements Runnable {
  14.         private int ticket = 1000;

  15.         @Override
  16.         public void run() {
  17.                 while (true) {
  18.                         sell();
  19.                         // synchronized (this) {
  20.                         // if (ticket > 0) {
  21.                         // ticket--;
  22.                         // System.out.println(Thread.currentThread().getName()
  23.                         // + "...售出一张,剩余" + ticket);
  24.                         // } else
  25.                         // break;
  26.                         // }
  27.                 }
  28.         }

  29.         private synchronized void sell() {
  30.                 if (ticket > 0) {
  31.                          ticket--;
  32.                          System.out.println(Thread.currentThread().getName()
  33.                          + "...售出一张,剩余" + ticket);
  34.                 }
  35.                 else
  36.                         System.exit(0) ;
  37.         }

  38. }
复制代码







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