先执行m2线程,然后执行主线程和m线程
package com.laili;
/**
* 运行机制:调用join方法的线程对象先执行完成,调用该方法时所在线程将会被阻塞,直到
* 调用join方法的线程执行完成
* @author zhouli
*
*/
public class TestJoin {
private static MyThread m;
private static MyThread2 m2;
public static void main(String[] args) {
m = new MyThread();
m2 = new MyThread2();
m.start();
m2.start();
try {
m2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("MainThread die");
}
static class MyThread extends Thread {
@Override
public void run() {
try {
m2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
for (int i = 0; i < 1000; i++) {
System.out.println("kkkkkkkkkk");
}
}
}
static class MyThread2 extends Thread {
@Override
public void run() {
for (int i = 0; i < 1000; i++) {
System.out.println("ddddd");
}
}
}
}