A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liaorubei 中级黑马   /  2014-10-12 21:25  /  842 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

join,是加入的意思
相对于线程来说,有两个意思,
第一是抢夺线程CPU执行权,而这是相对于调用这个方法的线程来说的
第二是等待线程终止,这是相对于被占用执行权的线程来说的
如:在主线程中执行一个A线程的join()方法,那么在join()执行之后,主线程将会进入冻结状态,直到A线程执行完毕,主线程都会继续执行
如果A线程在执行过程中wait(),sleep()了进入了冻结状态,或者A线程挂了,那么主线程将会继续冻结等待,因为还还在等待A线程执行呢.
如下代码演示:
  1. public class ThreadDemo
  2. {

  3.         public static void main(String[] args)
  4.         {
  5.                 Thread A = new Thread();
  6.                 A.start();
  7.                 try
  8.                 {
  9.                         //对A线程来说,是抢夺执行权,对主线程来说是等待A线程终止。
  10.                         //如果A线程没有执行完毕,主线程将会处于冻结状态,
  11.                         A.join();
  12.                 }
  13.                 //
  14.                 catch (InterruptedException e)
  15.                 {
  16.                         e.printStackTrace();
  17.                 }
  18.         }
  19. }
  20. //
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马