join为非静态方法,定义如下:
void join() 等待该线程终止。void join(long millis) 等待该线程终止的时间最长为 millis 毫秒。void join(long millis, int nanos) 等待该线程终止的时间最长为 millis 毫秒 + nanos 纳秒。
/*** Java线程:线程的调度-合并** @author leizhimin 2009-11-4 9:02:40 */public class Test { public static void main(String[] args) { Thread t1 = new MyThread1(); t1.start(); for (int i = 0; i 2) try { //t1线程合并到主线程中,主线程停止执行过程,转而执行t1线程,直到t1执行完毕后继续。 t1.join(); } catch (InterruptedException e) { e.printStackTrace(); } } }}class MyThread1 extends Thread { public void run() { for (int i = 0; i < 10; i++) { System.out.println("线程1第" + i + "次执行!"); } }}
主线程第0次执行!主线程第1次执行!主线程第2次执行!线程1第0次执行!主线程第3次执行!线程1第1次执行!线程1第2次执行!线程1第3次执行!线程1第4次执行!线程1第5次执行!线程1第6次执行!线程1第7次执行!线程1第8次执行!线程1第9次执行!主线程第4次执行!主线程第5次执行!主线程第6次执行!主线程第7次执行!主线程第8次执行!主线程第9次执行!主线程第10次执行!主线程第11次执行!主线程第12次执行!主线程第13次执行!主线程第14次执行!主线程第15次执行!主线程第16次执行!主线程第17次执行!主线程第18次执行!主线程第19次执行!Process finished with exit code 0
出处:http://lavasoft.blog.51cto.com/62575/221817
你被雨淋湿的心,是否依旧。