美文网首页
三:多线程之join

三:多线程之join

作者: 一森 | 来源:发表于2019-05-28 10:28 被阅读0次

在线程中有一个方法为join,join内部实现为wait;其实就是等待该线程执行的意思;
当有两个线程执行时,B线程执行前调用了A线程的join方法后,那么B线程必须在A线程执行完毕才开始执行;

举个雷子:

 public static class ThreadA extends Thread {
        @Override
        public void run() {
            super.run();

            System.out.println("我是线程 A");
        }
    }

 public static class ThreadB extends Thread {
        Thread thread;

        public ThreadB(Thread thread) {
            this.thread = thread;
        }

        @Override
        public void run() {
            super.run();
            try {
                thread.join();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("我是线程 B");
        }
 }

 public static void main(String[] agrs) {

        ThreadA threadA = new ThreadA();
        ThreadB threadB = new ThreadB(threadA);

        threadA.start();
        threadB.start();

        System.out.println("我是主线程");
 }

线程B中调用了线程A的join方法,那么线程B是在线程A执行完毕后才会执行的,在B执行前主线程会直接执行,看结果:

我是主线程
我是线程 A
我是线程 B

同理,主线程执行前要在线程B执行后再执行的话,则在主线程前调用B线程的join方法即可:

    public static void main(String[] agrs) {

        ThreadA threadA = new ThreadA();
        ThreadB threadB = new ThreadB(threadA);

        threadB.start();
        threadA.start();
        
        try {
            threadB.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("我是主线程");
    }

输出结果为:

我是线程 A
我是线程 B
我是主线程

相关文章

  • day18-多线程

    recode 一、多线程技术1 二、多线程技术2 三、client 多线程应用 四、join函数 耗时操作

  • Android:多线程总结

    多线程总结 问题一:多线程join如何实现? join用来等待一个线程完成。join方法会调用wait函数,这个w...

  • 多线程

    多线程技术 多线程技术2 多线程应用 server client join函数

  • (三)线程的并发工具类

    Fork-Join java 下多线程的开发可以我们自己启用多线程,线程池,还可以使用fork-join ,for...

  • 并发

    保证多线程的顺序执行 方式1:通过join方法保证多线程的顺序join作用:让主线程等待子线程结束后才能继续运行 ...

  • 三:多线程之join

    在线程中有一个方法为join,join内部实现为wait;其实就是等待该线程执行的意思;当有两个线程执行时,B线程...

  • Day18-多线程

    1.多线程技术1 2.多线程技术2 3.多线程技术 4.join函数

  • day19-多线程技术

    一.耗时操作 二.多线程 三.练习 四.线程类的子类 五.join函数 六.数据共享 七.for fun

  • 多线程join

    x.join就是使当前线程进入阻塞,等待x线程销毁后再继续往下执行。

  • 多线程-join

    join:加入线程,顺序执行。 官方解释:当我们调用某个线程的这个方法时,这个方法会挂起调用线程,直到被调用线程结...

网友评论

      本文标题:三:多线程之join

      本文链接:https://www.haomeiwen.com/subject/szlrtctx.html