join当前线程等待指定的线程结束后才能继续运行

模拟一个QQ游戏大厅斗地主

/**

sleep(休眠、睡眠)
join当前线程等待指定的线程结束后才能继续运行

 */
class Player extends Thread{
	private String name;
	private int time;
	
	public Player(String name, int time) {
		this.name = name;
		this.time = time;
	}

	public void run() {
		System.out.println(name+"准备进入游戏大厅");
		try {
			Thread.sleep(time);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println(name+"已就绪,耗时"+time);
	}
	
}
public class Demo13 {
	public static void main(String[] args) {
		Player p1=new Player("地主",1800);
		Player p2=new Player("农民1",2000);
		Player p3=new Player("农民2",1500);
		p1.start();
		p2.start();
		p3.start();
		
		try {
			p1.join(); //主线程等待p1结束
			p2.join(); //主线程等待p2结束
			p3.join(); //主线程等待p3结束
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		System.out.println("开始游戏");
	}
}

  

posted on 2018-01-11 18:17  掷骰子  阅读(240)  评论(0编辑  收藏  举报