JAVA多线程售票问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA多线程售票问题相关的知识,希望对你有一定的参考价值。

//定义一个类实现Runnable接口,定义一个需要同步的售票方法,然后重写run方法调用售票的sale方法

[java] view plain copy
 

      1. class SaleTicket implements Runnable{  
      2.     private int tickets = 100;  
      3.       
      4.       
      5.     private synchronized void sale(){  
      6.         if(tickets > 0){  
      7.             System.out.println(Thread.currentThread().getName() + "卖出 第 "+ (tickets--)+"张票");  
      8.               
      9.             try{  
      10.                 Thread.sleep(100);  
      11.             }catch(InterruptedException e){  
      12.                 e.printStackTrace();  
      13.             }  
      14.         }  
      15.     }  
      16.     public void run(){  
      17.         while(tickets > 0){  
      18.             sale();  
      19.         }  
      20.     }  
      21. }  
      22.   
      23.   
      24. public class JavaTest {  
      25.           
      26.     public static void main(String[] args){  
      27.   
      28.   
      29.         SaleTicket st = new SaleTicket();  
      30.         Thread t1 = new Thread(st, "一号窗口");  
      31.         Thread t2 = new Thread(st, "二号窗口");  
      32.         Thread t3 = new Thread(st, "三号窗口");  
      33.         Thread t4 = new Thread(st,"四号窗口 ");  
      34.         t1.start();  
      35.         t2.start();  
      36.         t3.start();  
      37.         t4.start();  
      38.           
      39.       
      40.           
      41.     }  
      42. }  

以上是关于JAVA多线程售票问题的主要内容,如果未能解决你的问题,请参考以下文章

java面试 啥是多线程

Java多线程实现简单的售票程序

Java多线程4—线程同步问题+火车票售票系统

java多线程---Runable实现售票系统

java多线程---Runable实现售票系统

java 22 - 11 多线程之模拟电影院售票口售票