已有258人关注
为何第一个线程的循环中未设置跳出循环的条件《java从入门到精通》第18章例18.4
发表在Java答疑区 2017-05-23
是否精华
版块置顶:


分享到:
精彩评论 3
法里德6
学分:30 LV2
2017-05-24
沙发

此项同问,为何ThreadA未设置count==100;break;

借用楼主案例,增加2项疑问,望老师解答:

  1. 书中“使用匿名内部类形式初始化Thread案”例此段代码如下:

    threadA = new Thread(new Runnable() {

    这个()用的没有错误吗?

  2. ThreadB.join();为何偏偏放在try_catch语句中,可否放在ThreadA的run()语句即可?

    谢谢!

David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-05-24
板凳

跳出循环的目的是线程t2被终止(下方的进度条的值为100%),然后继续执行线程t1(上方进度条从20%继续增长至100%),由于线程t1没有被终止,所以程序保持运行状态,直至窗体被关闭。

David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-05-24
地板

法里德6 发表于2017-05-24 16:11

此项同问,为何ThreadA未设置count==100;break;

借用楼主案例,增加2项疑问,望老师解答:

  1. 书中“使用匿名内部类形式初始化Thread案”例此段代码如下:

    threadA = new Thread(new Runnable() {

    这个()用的没有错误吗?

  2. ThreadB.join();为何偏偏放在try_catch语句中,可否放在ThreadA的run()语句即可?

    谢谢!

  1. 没有错误,书中源码的意思是通过实现Runnable接口创建线程对象;

  2. 读者可以在Eclipse中敲一下书中代码,在不使用try...catch的情况下,直接写线程对象调用join方法,Eclipse会报错,把鼠标悬停在红色波浪线处,Eclipse会提示为join方法添加try...catch。

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照