zoukankan      html  css  js  c++  java
  • Java线程的学习(一)——以售票系统为例

     1 /*
     2  * 售票系统
     3  */
     4 package com.threadText;
     5 public class Demo1 {
     6 
     7     public static void main(String[] args) {
     8         // TODO Auto-generated method stub
     9         //定义三个售票窗口
    10         TicketWindow tw1 = new TicketWindow();
    11         
    12         Thread t1 = new Thread(tw1);
    13         Thread t2 = new Thread(tw1);
    14         Thread t3 = new Thread(tw1);
    15         
    16         t1.start();
    17         t2.start();
    18         t3.start();
    19     }
    20 
    21 }
    22 
    23 class TicketWindow implements Runnable{
    24     private int nums = 2000;
    25 
    26     @Override
    27     public void run() {
    28         // TODO Auto-generated method stub
    29         while(true) {
    30         synchronized (this) {
    31             
    32                 if(nums>0) {
    33                 System.out.println(Thread.currentThread().getName()+"在售出第"+nums+"张票");
    34                 try {
    35                     Thread.sleep(1000);
    36                 } catch (Exception e) {
    37                     // TODO: handle exception
    38                     e.printStackTrace();
    39                 }
    40                 nums--;
    41                 }else {
    42                     break;
    43                 }
    44             }
    45         }
    46         
    47     }
    48     
    49 }
  • 相关阅读:
    JS判断对象中是否存在某参数
    JS通过url下载文件
    .NET CORE LinQ查询中计算时间差
    C# 判断某个时间是星期几
    C#数组去重
    python Tank
    kubeflannel.yml Tank
    片言只语 Tank
    other Tank
    ERROR大集合 Tank
  • 原文地址:https://www.cnblogs.com/nick9527/p/9242288.html
Copyright © 2011-2022 走看看