java 多线程-join插队

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 多线程-join插队相关的知识,希望对你有一定的参考价值。

join
合并线程,插队线程,将此线程执行完成后,再执行其他线程,其他线程阻塞
join是一个成员方法,必须通过Thread对象调用

public class n 

public static void main(String[]args) throws InterruptedException

    Thread t =new Thread(()-> 
        for(int i=0;i<5;i++)
        
            System.out.println("a"+i);
        
    );
    t.start();

    for(int i=0;i<5;i++)
    
        if(i%2==0)
        
            t.join();//插队,此时main主线程被阻塞,插队线程执行完所有步骤再执行main
        
        System.out.println("b"+i);
    



例二:

public class n 

public static void main(String[]args) throws InterruptedException

    new Thread(new father()).start();





class father extends Thread
public void run()

    System.out.println("想抽象,发现没了");
    System.out.println("让儿子买中华");
    Thread t=new Thread(new son());
    t.start(); //不行,各走各的逻辑错误,再加入join先执行完son,再执行father剩下的
    try 
        t.join();
     catch (InterruptedException e) 

        e.printStackTrace();
    
    System.out.println("接过烟");



class son extends Thread
public void run()

    System.out.println("拿钱");
    System.out.println("路边玩10秒");
    for(int i=0;i<10;i++)
    
        System.out.println(i+"秒过去了");
        try 
            Thread.sleep(1000);
         catch (InterruptedException e) 

            e.printStackTrace();
        
    
    System.out.println("去买烟");
    System.out.println("回家");

以上是关于java 多线程-join插队的主要内容,如果未能解决你的问题,请参考以下文章

第71题JAVA高级技术-多线程5(线程插队)

Java线程插队

多线程

07_控制线程_join_线程插队

JAVA Join+线程优先级+守护进程

JAVA基础——多线程