while 的情况 譬如 while(p=null){}
然后在另一个地方 p 赋值为非 null
用锁阻塞
synchronized(obj){ obj.wait(); }
然后在另一个地方 obj.notify();
while 的情况 譬如 while(p=null){}
然后在另一个地方 p 赋值为非 null
用锁阻塞
synchronized(obj){ obj.wait(); }
然后在另一个地方 obj.notify();
|
siriussilenApr 2, 2017
1
当然是忙等待啦~~~
|
|
izhaohuiApr 2, 2017 via Android
2
锁是会让出 cpu 资源的
|
|
hjc4869Apr 2, 2017 via Android
3
楼主可以了解一下自旋锁以及其应用场景
|
|
kanegApr 2, 2017 via iPhone
4
简单的说, while 循环的线程是一直处于运行状态,而 wait 则是阻塞状态,即让出 CPU 时间片。
|
|
kenkenApr 2, 2017
6
你这个就是自旋锁和排他锁的区别。 自旋锁一般用在非常短的锁等待上,配合 cas 效率更高,上下文切换更少。排他锁用途广泛,需要上下文切换,效率肯定比自旋锁要低。 自旋锁占资源多
|
|
SoloCompanyApr 3, 2017
8
我不小心点了一下楼主的问题列表。。。
|
|
wwqgtxxApr 3, 2017 via iPhone
9
@SoloCompany 然后发现我们俩貌似回复了他提的每个问题😂
|
|
sagaxuApr 3, 2017 via Android
10
@SoloCompany 我也看了下,楼主肯定不是计算机专业的😁
|