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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 247033993@qq.co 中级黑马   /  2014-5-25 16:47  /  2189 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 247033993@qq.co 于 2014-5-25 16:49 编辑

复制代码
  1. public class Test_Join {
  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args) {
  6.                 JoinMethod j=new JoinMethod();
  7.                 Thread a=new Thread(j,"线程A");
  8.                 Thread b=new Thread(j,"线程B");
  9.                 Thread c=new Thread(j,"线程c");
  10.                 a.start();
  11.                 b.start();
  12.                 c.start();
  13.                 try {
  14.                         Thread.sleep(2000);
  15.                 } catch (InterruptedException e1) {
  16.                         // TODO Auto-generated catch block
  17.                         e1.printStackTrace();
  18.                 }
  19.                 System.out.println("======================");
  20.                 System.out.println(c.isAlive());
  21.                 for (int i = 0; i < 10; i++) {
  22.                         try {
  23.                                 c.join();
  24.                         } catch (InterruptedException e) {
  25.                                 // TODO Auto-generated catch block
  26.                                 e.printStackTrace();
  27.                         }
  28.                 }
  29.         }        
  30. }
  31. class JoinMethod implements Runnable{
  32.         public void run(){
  33.                 for (int i = 0; i <10; i++) {
  34.                         System.out.println(Thread.currentThread().getName());
  35.                 }
  36.         }
  37. }
复制代码


先不说这种极端方法的合理性,线程都运行完了,再使用join,为什么捕获异常这里没有一个关于线程死亡的异常呢?

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

2 个回复

倒序浏览
开启abc线程后,sleep()方法让主线程睡觉了。。。然后abc就欢快的跑~~
等到主线程醒了 abc也跑完了。。。结束run()方法的abc进程都死亡了。
判断c.isAlive();结果自然也是false

感觉应该是 既然c进程都死亡了
c.join 就成了无用的代码(?)

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
我就是这个疑问,这个应该设计一个线程死亡的异常
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马