http://www.verejava.com/?id=16992945731073
package com.suspend.resume;
/*题目: 人们在火车站的售票窗口排队买火车票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.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();}}@Overridepublic void run(){//开始售票sale();}public String getName(){return name;}public void setName(String name){this.name = name;}}
http://www.verejava.com/?id=16992945731073