千家信息网

Java 多线程的火车站售票实例分析

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章给大家介绍Java 多线程的火车站售票实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。package com.thread;/** 题目: 人们在火车站的售票窗口排
千家信息网最后更新 2026年10月31日Java 多线程的火车站售票实例分析

这篇文章给大家介绍Java 多线程的火车站售票实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

package com.thread;/** 题目: 人们在火车站的售票窗口排队买火车票        1. 北京西站开门        2. 打开售票窗口        3. 北京西站有10张去长沙的票        4. 打开2个售票窗口,         5 假设每个售票窗口每隔1秒钟买完一张票                1. 根据 名词  找类        人们(Person), 火车站(Station),火车票(Ticket) , 售票窗口e 是火车站的线程                 */import java.util.*;public class TestTrain {         public static void main(String[] args) {               //火车西站开门                Station station = new Station("火车西站");            //开窗口                //Thread win1=station.openWindow("普通窗口");                Thread win2 = station.openWindow("学生窗口");              //窗口1 开始售票                //设置线程优先级 setPriority()                //win2.setPriority(Thread.MAX_PRIORITY);                //win1.start();                win2.start();           try {                        Thread.sleep(2000);//2 妙的时候  线程停止 stop()                        //interrupt() 打断线程                        //win2.stop();                        win2.suspend();//展厅                        Thread.sleep(4000);                        win2.resume();                } catch (Exception e) {                        e.printStackTrace();                }                                        }}class Station implements Runnable {        private String name;//火车站的名称        private String[] persons = { "赵海洋", "王锐", "宋沙", "李欣伟", "徐文晓", "孟令强", "王大卫", "李宝琴", "王浩" };// 火车站排队 买票的人        private int i = -1; public Station(String name) {            super();                this.name = name;        }       // 打开售票窗口  学生窗口,普通窗口,军人窗口          //售票窗口 是线程 Thread        public Thread openWindow(String name) {             return new Thread(this, name);        }       //火车站售票        public void sale() {             try {                      while (i < persons.length - 1) {                                i++;                                String person = persons[i];                                System.out.println(person + " " + Thread.currentThread().getName() + "  买了一张北京到上海的火车票");                                Thread.sleep(2000);                        }                } catch (Exception e) {                        e.printStackTrace();                }        }       @Override        public void run() {              //开始售票                sale();        }       public String getName() {                return name;        }       public void setName(String name) {          this.name = name;        }}

关于Java 多线程的火车站售票实例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0