博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 多线程 之 火车站售票实例
阅读量:5839 次
发布时间:2019-06-18

本文共 1901 字,大约阅读时间需要 6 分钟。

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;    }}

转载地址:http://cfncx.baihongyu.com/

你可能感兴趣的文章
linux常用命令(15)whereis命令
查看>>
kerberos安装
查看>>
UVA 10288 Coupons
查看>>
String、StringBuffer与StringBuilder的区别
查看>>
powerpc调试工具的使用
查看>>
[python]请利用@property给一个Screen对象加上width和height属性,以及一个只读属性resolution:...
查看>>
vue_drf之多级过滤、排序、分页
查看>>
清除celery 任务队列
查看>>
jQuery语法
查看>>
underscore.js定义模板遇到问题:Uncaught TypeError: Cannot read property 'replace' of undefined...
查看>>
Mac 10.9.2后airplay出现的bug
查看>>
mac下安装HTMLTestRunner
查看>>
深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1
查看>>
Instance Segmentation入门总结
查看>>
优化Android应用内存的若干方法
查看>>
Android org.apache.http.*找不到
查看>>
VoIP基本概念
查看>>
实验一 网络侦查与网络扫描
查看>>
OpenCV学习(26) 直方图(3)
查看>>
[leetcode-18-4Sum]
查看>>