join-线程
发布日期:2021-06-30 21:07:57 浏览次数:2 分类:技术文章

本文共 1041 字,大约阅读时间需要 3 分钟。

Thread提供了让一个线程等待另一个线程完成的方法join()方法。当某个程序执行流A中调用其他线程B的join()方法时,调用线程A将被阻塞,直到被join()方法加入的join线程B执行完毕,当前线程A才会重新回到就绪状态。

join():等待被join的线程B执行完毕,A线程才开始执行
join(long millis):等待被join的线程B的时间最长为millis毫秒。如果在millis毫秒内被join()的线程B还没有执行结束,A则不再等待

class JoinThread extends Thread{    public JoinThread(String name){        super(name);    }    @Override    public void run(){        for(int i=0;i<100;i++){            try{                Thread.sleep(200);            }catch(Exception e){                e.printStackTrace();            }            System.out.println(getName()+"->"+i);        }    }}public class DaemonThreadTest {    public static void main(String[] args) throws InterruptedException {        JoinThread joinThread = new JoinThread("被Join的线程B");        joinThread.start();        //joinThread.join(); //主线程A调用的(线程B执行join() )        joinThread.join(5000); // 本来是等待B线程执行完,再执行A线程。可如果B线程5s内没有执行完,                                            //则A线程不再等待,A开始执行,B线程也继续执行。        System.out.println("主线程A执行完毕");//在joinThread线程B执行完毕后,主线程A才会继续执行。    }}

 

转载地址:https://liuyan.blog.csdn.net/article/details/81364458 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:线程让步(yield)和线程睡眠(sleep)区别
下一篇:(Daemon)后台线程/守护线程理解

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年05月04日 16时30分10秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章