本文主要是介绍多线程---join---模拟打麻将,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
join //加入,让线程加入到当前线程.
public final void join()
多线程join 方法
void join() 等待该线程终止。
void join(long millis) 等待该线程终止的时间最长为millis 毫秒。
特点:当A 线程走到B 线程的join 方法时,A 就会等待B 线程都执行完,A 才会执行
作用: join 可以用来临时加入线程执行;
需求:模拟打麻将
package java.thread;/***join //加入,让线程加入到当前线程.*/
public class ThreadJoinDemo {public static void main(String[] args) {Player p1 = new Player("张三",1);Player p2 = new Player("李四", 3);Player p3 = new Player("王五", 5);Player p4 = new Player("赵六", 6);p1.start();p2.start();p3.start();p4.start();try {p1.join();p2.join();p3.join();p4.join();} catch (InterruptedException e) {e.printStackTrace();}System.out.println("开局");}}class Player extends Thread{private String name0;private int sleep;public String getName0() {return name0;}public void setName0(String name0) {this.name0 = name0;}public int getSleep() {return sleep;}public void setSleep(int sleep) {this.sleep = sleep;}public Player(String name0, int sleep) {this.name0 = name0;this.sleep = sleep;}@Overridepublic void run() {try {System.out.println(name0+"出发了");Thread.sleep(sleep*1000);System.out.println(name0 + "到了"+"耗时"+sleep+"秒");} catch (InterruptedException e) {e.printStackTrace();}}
}
模拟结果:
张三出发了
李四出发了
赵六出发了
王五出发了
张三到了耗时1秒
李四到了耗时3秒
王五到了耗时5秒
赵六到了耗时6秒
开局
这篇关于多线程---join---模拟打麻将的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!