永发信息网

在这个JAVA程序return起到了什么作用?

答案:4  悬赏:30  手机版
解决时间 2021-02-06 23:57
class Example9_7
{ public static void main(String args[])
{ ComputerSum sum=new ComputerSum();
sum.computer1.start();
}
}
class ComputerSum implements Runnable
{ Thread computer1,computer2;
int i=1,sum=0;
ComputerSum()
{ computer1=new Thread(this);
computer2=new Thread(this);
}
public void run()
{ while(i<=10)
{ sum=sum+i;
System.out.println(sum);
i++;
if(i==6&&Thread.currentThread()==computer1)
{ System.out.println(computer1.getName()+"完成任务了");
computer2.start();
return;
}
}
}
}
我去掉return,输出的结果就不一样了!程序前大部分都能读懂就是最后一句return,在computer2.start();之后程序不应该是再运行run()方法吗?那就永远也不能执行return了啊,为什么去掉就不行呢!!
最佳答案
return 是退出当前方法即void run()的执行,
computer2.start()方法启动线程,但不一定执行线程。

www.suncl.net
全部回答
return 在这里是表示computer1这个 thread结束了 但是对程序没有实际影响
我运行了一下,去掉和不去掉结果都一样啊,而且在computer2.start();之后Thread.currentThread()==computer1 不能成立了,return是可以执行到的
如果把return去掉,执行完computer2.start()后,还会进入i=6的循环.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
纷剪专业美发沙龙地址好找么,我有些事要过去
昆山市玉山镇科纳精密厂地址有知道的么?有点
怎样才能让游戏支付不需要手机验证码?
西部名剪地址在什么地方,我要处理点事
利川市毛坝镇清水小学这个地址在什么地方,我
dnf我设置了//移动物品,怎么用不了?
怎么区分是宾补,还是状语啊 谢谢
鹏海发型(怡闲道店)地址在哪,我要去那里办事
新富都大酒店-棋牌房地址有知道的么?有点事
喜洋洋发屋地址在哪,我要去那里办事
新人求问雪女装什么御魂好
求问东方培新学校的评价
甘家口小区北门地址有知道的么?有点事想过去
有一批基因型为BbCc(两对等位基因独立遗传)
水富县向家坝镇老年协会云富分会地址在什么地
推荐资讯
abb变频器故障代码f0001表示啥故障?
京沈路/机场北线高速公路(路口)我想知道这个
明心国际商务会所在哪里啊,我有事要去这个地
辽源这个城市有多少年历史?
梦梵世佳地址在什么地方,想过去办事
爱一个人太执着好吗?求大神帮助
下图所示为沿23°26′S的海陆分布示意图,读
霍尔果斯市商务经信局地址有知道的么?有点事
国家电网固始县段集供电营业厅怎么去啊,有知
kennys用多少分辨率
泰州一汽-大众怎么去啊,我要去那办事
杜鹃坊这个地址在什么地方,我要处理点事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?