为什么sleep在循环外无法调用

为什么sleep在循环外无法调用

@Override

public void run() {

int i=0;

while(true) {

queue.set(i++);

}

Thread.sleep(1000);

}

//如上面代码,当sleep的调用在循环体外面时,编译器报错,且只能删除这段代码,没有提示添加Try Catch来包裹

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,在这里,Thread.sleep()只能在循环中使用,如果写在循环的外部,while将会一直循环,无法访问Thread.sleep(),所以报错。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

好帮手慕阿满 2019-09-28 10:54:34

同学你好,Thread.sleep()是在循环中调用的,如:

http://img1.sycdn.imooc.com//climg/5d8ecb5109dbc80e06880320.jpg

并且是在循环中try-catch,建议同学修改再试试。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 移动电猿 #1
    没明白,这个方法是只能在循环体中调用吗?为什么呢?我在循环体外面用try/catch来调用它不可以吗
    2019-09-28 12:21:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师