黑马程序员技术交流社区
标题:
线程冻结后的一个判断问题
[打印本页]
作者:
祁焱
时间:
2011-10-29 09:56
标题:
线程冻结后的一个判断问题
public void run() {
if(ticket>0)
while (flag) {
try {
Thread.sleep(10);
} catch (InterruptedException ex) {
Logger.getLogger(Ticket.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println(Thread.currentThread().getName() + "1号窗口" + ticket--);
flag=false;
}
在以上代码中为什么当线程冻结10毫秒后,再次执行时还会去判断while循环呢?在毕老师的视频中讲过没有整明白。
作者:
赵玉成
时间:
2011-10-30 01:33
while循环是怎么执行的?,while(条件)
{ 循环体}
先判断条件是否满足为true, 满足, 执行循环;再判断,满足,执行循环,再判断满足,执行循环体,就是这样执行的啊………………
sleep方法并不释放当前线程自己的锁,所以sleep后是这样的,
t.jpg
(12.6 KB, 下载次数: 123)
下载附件
2011-10-30 01:32 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2