哈尔滨火车站下面有三个火车票代售点,假如哈尔滨到北京的火车票总共是200张,如何用程序来实现三个售票点同时卖票的功能。

Posted 你的微笑依然那样灿烂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哈尔滨火车站下面有三个火车票代售点,假如哈尔滨到北京的火车票总共是200张,如何用程序来实现三个售票点同时卖票的功能。相关的知识,希望对你有一定的参考价值。

題目內容:

哈尔滨火车站下面有三个火车票代售点,假如哈尔滨到北京的火车票总共是200张,如何用程序来实现三个售票点同时卖票的功能。

尔滨站卖了一张票,还剩9张票。 
香坊站卖了一张票,还剩8张票。 
哈尔滨西站卖了一张票,还剩7张票。 
哈尔滨站卖了一张票,还剩6张票。 
香坊站卖了一张票,还剩5张票。 
哈尔滨西站卖了一张票,还剩4张票。 
哈尔滨站卖了一张票,还剩3张票。 
香坊站卖了一张票,还剩2张票。 
哈尔滨西站卖了一张票,还剩1张票。 
哈尔滨站卖了一张票,还剩0张票。 
class Ticket implements Runnable
 private int TicketNum = 10; //100张火车票
 private boolean flag = true;
 private synchronized void sale()
 
  if(TicketNum<=0)
  
   flag = false;
   return ;
  
  TicketNum--;
  System.out.println(Thread.currentThread().getName()+"卖了一张票,还剩"+TicketNum+"张票。");
 
 
 @Override
 public void run() 
  // TODO Auto-generated method stub
     
  while(flag)
  
   sale();
   

   try 
    Thread.sleep(200);
    catch (InterruptedException e) 
    // TODO Auto-generated catch block
    e.printStackTrace();
   
  
 
 

public class Main 
 public static void main(String[] args) 
  // TODO Auto-generated method stub
       Ticket t = new Ticket();
       Thread th1 = new Thread(t,"哈尔滨站");
       Thread th2 = new Thread(t,"哈尔滨西站");
       Thread th3 = new Thread(t,"香坊站");
      
       th1.start();
       th2.start();
       th3.start();
      
 



以上是关于哈尔滨火车站下面有三个火车票代售点,假如哈尔滨到北京的火车票总共是200张,如何用程序来实现三个售票点同时卖票的功能。的主要内容,如果未能解决你的问题,请参考以下文章

Java-设计模式之代理模式

火车票购买技巧

买火车票系统是怎么分配位置?

三种代理模式

模式的秘密-代理模式-静态代理

Java缓存学习之三:CDN缓存机制