黑马程序员技术交流社区
标题:
第12天的视频 看不懂闹心。。
[打印本页]
作者:
刘 佳
时间:
2012-10-1 23:28
标题:
第12天的视频 看不懂闹心。。
第7段视频,interrupt中断异常。
老师讲的过程,t1.interrupt(); 主函数执行完后,flag不是改成false了吗,为什么线程还是挂起了?老师说还是true?? 看执行的结果也是先打印的over,后打印的线程执行结果的呀,flag怎么能还是true呢?
还有抛出异常的问题,try和catch是处理wait抛出的异常,API中介绍interrupt也抛出异常啊,抛哪去了?在哪处理的?各种迷糊,看三天没看懂,郁闷。。。
class StopThread implements Runnable
{
private boolean flag =true;
public synchronized void run()
{
while(flag)
{
try{wait();}
catch(InterruptedException e)
{
System.out.println(Thread.currentThread().getName()+"....Exception");
}
System.out.println(Thread.currentThread().getName()+"....run");
}
}
public void changeFlag()
{
flag = false;
}
}
class StopThreadDemo
{
public static void main(String[] args)
{
StopThread st = new StopThread();
Thread t1 = new Thread(st);
Thread t2 = new Thread(st);
t1.start();
t2.start();
int num = 0;
while(true)
{
if(num++ == 60)
{
st.changeFlag();
t1.interrupt();
t2.interrupt();
break;
}
System.out.println(Thread.currentThread().getName()+"......."+num);
}
System.out.println("over");
}
}
作者:
徐-星星
时间:
2012-10-2 01:40
本帖最后由 娇赛赛 于 2012-10-2 02:11 编辑
8.jpg
(1.23 MB, 下载次数: 27)
下载附件
2012-10-2 02:10 上传
作者:
黑马连家华
时间:
2012-10-4 02:01
过气儿我学完了再告诉你
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2