码迷,mamicode.com
首页 > 编程语言 > 详细

Java多线程中join方法详解

时间:2017-07-06 18:55:00      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:检查   线程等待   new   ring   jvm   ini   adt   cal   row   

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");

  }

}

Java多线程中join方法详解

标签:检查   线程等待   new   ring   jvm   ini   adt   cal   row   

原文地址:http://www.cnblogs.com/qinshou/p/7127102.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!