黑马程序员技术交流社区
标题:
关于while循环的
[打印本页]
作者:
流沙
时间:
2014-5-20 09:37
标题:
关于while循环的
本帖最后由 流沙 于 2014-5-20 12:04 编辑
在多线程的时候,多线程在while循环体中被wait了,”当它线程池中被唤醒了仍然在循环体中“为什么不是直接在循环体中继续往下走,而是返回去判断了一下条件?????
while:先判断条件,只要条件满足才执行循环体。是这句话的就不需要了!!!
作者:
gentleman
时间:
2014-5-20 11:46
public synchronized void set(String name)
{
while(flag)
try{this.wait();}catch(Exception e){}//t1(放弃资格) t2(获取资格)
this.name = name+"--"+count++;
System.out.println(Thread.currentThread().getName()+"...生产者.."+this.name);
flag = true;
this.notifyAll();
}
复制代码
比如这段代码,你有没有注意到while(flag)循环没有大括号?其实这个循环体就下面那一句话,和if不加大括号是一样道理
作者:
流沙
时间:
2014-5-20 12:04
gentleman 发表于 2014-5-20 11:46
比如这段代码,你有没有注意到while(flag)循环没有大括号?其实这个循环体就下面那一句话,和if不加大括号 ...
哈哈!看到了!之前没注意!以为下面代码全是大括号里边的!后来才看到循环的只有一句话哈哈
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2