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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM