黑马程序员技术交流社区
标题:
请教个线程中while判断的问题
[打印本页]
作者:
郑飞
时间:
2014-6-26 17:57
标题:
请教个线程中while判断的问题
本帖最后由 郑飞 于 2014-6-26 18:00 编辑
谁能解释下为什么啊 while到底怎么执行的
public synchronized void set()
{
while(flag)
try
{
this.wait(); //视频中老师说从这里被唤醒的线程会回到上一步while中判断后在执行,
//这一步不是已经过了while判断语句了么,被唤醒不是要往下执行么?
}
catch (Exception e)
{
}
count++;
System.out.println(Thread.currentThread().getName()+"生产者"+this.name+count);
flag = true;
notifyAll();
}
作者:
执笔梦
时间:
2014-6-26 18:48
本帖最后由 执笔梦 于 2014-6-26 18:49 编辑
while(flag)大哥,这是while();
try
{
this.wait();
比如你来到这里停了,那下面的的输出语句还没执行吧,下次你开始执行的时候,你要执行 输出吧,输出完了,while执行完了,是不是还要从头判断一次呢?
System.out.println("runing?");
}
}
如果是if()执行完了就不会再判断了
作者:
木华
时间:
2014-6-26 19:44
while循环只有在while循环条件不满足的时候才停止,与其他的结束不结束没关系
作者:
lijinhe
时间:
2014-6-27 16:49
如果满足while则执行while里面的语句,不满足就不执行里面的语句。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2