java线程中的join方法

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

posted on 2021-10-24 14:35  菜小疯  阅读(985)  评论(0)    收藏  举报