[Java] Java多线程售票 →→→→→进入此内容的聊天室

来自 , 2020-03-25, 写在 Java, 查看 105 次.
URL http://www.code666.cn/view/2cbca448
  1. package concurrent001;
  2.  
  3.  
  4. public class BuyTicket extends Thread {
  5.  
  6.     private int tickets;
  7.     
  8.     private String sellName = "";
  9.     
  10.     public BuyTicket(int num){
  11.         this.tickets = num;
  12.     }
  13.     
  14.     @Override
  15.     public void run() {
  16.             while (tickets> 0) {
  17.                  buyTicket();
  18.             }
  19.     }
  20.     
  21.     
  22.     public synchronized void buyTicket(){
  23.         if(tickets>0){
  24.             System.out.println(Thread.currentThread().getName() + "售出了" + tickets + "号票子");
  25.             tickets--;
  26.         }
  27.     }
  28.     
  29.     
  30.     
  31.     public static void main(String[] args) throws InterruptedException {
  32.         BuyTicket bt = new BuyTicket(2000);
  33.         Thread t1 = new Thread(bt);
  34.         Thread t2 = new Thread(bt);
  35.         Thread t3 = new Thread(bt);
  36.         t1.start();
  37.         t2.start();
  38.         t3.start();
  39.         t1.join();t2.join();t3.join();
  40.         System.out.println("end................");
  41.         
  42.     }
  43.  
  44. }//源代码片段来自云代码http://yuncode.net
  45.                        

回复 "Java多线程售票"

这儿你可以回复上面这条便签

captcha