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運行。