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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 唐志海 中级黑马   /  2013-11-21 18:26  /  1221 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 唐志海 于 2013-11-21 20:38 编辑

帮忙看下线程t1也结束了,可为什么没有输出发生异常
  1. class stop implements Runnable
  2. {
  3.         private boolean flag=true;
  4.         public synchronized void run() {
  5.                 while(flag)
  6.                 {
  7.                         try{
  8.                                 wait();
  9.                                 
  10.                         }
  11.                         catch(InterruptedException e){
  12.                                 System.out.println(Thread.currentThread().getName()+"发生异常.....");
  13.                                 flag=false;
  14.                         }
  15.         
  16.                 }
  17.                  
  18.         }
  19.         
  20.         
  21. }

  22. public class StopThread
  23. {
  24.         public static void main(String[] args) throws InterruptedException
  25.         {
  26.                 //new Thread(new stop()).start();
  27.                 //new Thread(new stop()).start();
  28.                 stop s=new stop();
  29.                 Thread t=new Thread(s);
  30.                 Thread t1=new Thread(s);
  31.                 t.start();

  32.                 t1.start();
  33.                
  34.                
  35.                 for(int i=0;i<100;i++)
  36.                         {
  37.                                 t.interrupt();
  38.                                 t1.interrupt();
  39.                                 System.out.println(i);
  40.                         }
  41.                 System.out.println("oooo");
  42.         }
  43. }
复制代码

QQ图片20131121182546.jpg (14.68 KB, 下载次数: 6)

QQ图片20131121182546.jpg

2 个回复

正序浏览
这个是机率问题。我运行了几次是两个都异常。。打开了两个线程之后,如果让主线程停一下,就会都产生异常了。
回复 使用道具 举报
今天的学习貌似问题好多,郁闷。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马