while(true)
{
synchronized(obj)//当不加锁的时候,eclipse会卡死,感觉有点像死循环,这是为什么
{
if(tick>0)
System.out.println(Thread.currentThread().getName()+"...on sale..."+tick--);
//有必要在这里加上一句else break;吗
}
}
while(true)如果不改变条件也不用break跳出的话就是一个死循环。if(tick>0)是说当tick>0,才满足条件,才会走if的内容。如果你去掉else{break},那就是当tick
=0了,不满足if条件了,所以不会走if了,但是while(true)还是满足的,循环还会继续。所以要在这里加个else{break}跳出while循环。 |