zoukankan      html  css  js  c++  java
  • Java多线程中join方法详解

    join()方法用于让当前执行线程等待join线程执行结束。其实现原理是不停的检查join线程是否存活,如果join线程存活则让当前线程永远等待。

    join()方法部分实现细节

    while(isAlive())

    {

      wait(0)

    }

    其中wait(0)表示永远等待下去。

     join线程中止后,线程的this.notifyAll()方法会被调用,调用notifyAll()是在JVM里调用的所有在JDK中看不到,大家可以看JVM源码

    示例程序:

    public calss ThreadTest{

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

      {

        Thread parser1 = new Thread(new Runnable(){

          public void run(){}

    });

        Thread parser2 = new Thread(new Runnable(){

          public void run(){}

    });

        parser1.start();

        parser2.start();

        parser1.join();

        parser2.join();

        System.out.println("all parser finish");

      }

    }

  • 相关阅读:
    Shell 中的 expect 命令
    #每日日报#7.11
    #每日日报#7.10
    #每日日报#7.09
    #每日日报#7月8日
    每日日报2020.7.17
    每日日报2020.7.16
    每日日报2020.7.15
    每日日报2020.7.14
    每日日报2020.7.13
  • 原文地址:https://www.cnblogs.com/qinshou/p/7127102.html
Copyright © 2011-2022 走看看