java线程中的join方法
join方法可以用来插队,有线程在cpu运行时,另一个线程使用join方法把在运行的线程退回等待状态,自己进入cpu运行。
以下代码展示join的用法:
package com.cxf.multithread.join;
public class TestForJoin implements Runnable{
public static void main(String[] args) throws InterruptedException {
Thread thread = new Thread(new TestForJoin());
thread.start();
for (int i = 0; i < 6; i++) {
if(i==2){
thread.join();
}
System.out.println("main is running");
}
}
@Override
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println("i am running");
}
}
}
输出结果:
main is running
main is running
i am running
i am running
i am running
i am running
i am running
main is running
main is running
main is running
main is running
main函数中的内容是主线程,主线程默认是在自定义线程之前运行的。这里主线程运行到一半时,自定义线程插队进入cpu运行,运行完毕后,主线程才能进入cpu运行。