zoukankan      html  css  js  c++  java
  • 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. }  
  • 相关阅读:
    day 13 python循环
    day 12 python开始--字符串
    day eleven 正则表达式以及shell基础学习
    day ten linux学习
    eight day linux网络基础
    设计模式
    JAVA中JDK和JRE的区别
    工作流基本概念__了解就行
    mybitis注解开发_curd操作
    Spring boot 整合SSM框架三层架构并前后台restful风格交互
  • 原文地址:https://www.cnblogs.com/DIMON/p/5265794.html
Copyright © 2011-2022 走看看