Java 多线程中stop停止线程实例分析

发布时间:2022-01-11 10:12:43 作者:柒染
来源:亿速云 阅读:117

这期内容当中小编将会给大家带来有关Java 多线程中stop停止线程实例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

package com.stop;/**
 题目: 人们在火车站的售票窗口排队买火车票
	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()
			win2.stop();
		} 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 多线程中stop停止线程实例分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. java如何停止一个线程
  2. java多线程的基础知识有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java top

上一篇:Java 数组中的冒泡排序算法如何理解

下一篇:Java线程技术中的死锁问题怎么解决

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》