Quantcast
Channel: 《线程通信》的评论
Browsing latest articles
Browse All 41 View Live

作者:zxpbenson

第五部分 5、假唤醒 public class MyWaitNotify3{ MonitorObject myMonitorObject = new MonitorObject(); boolean wasSignalled = false; public void doWait(){ synchronized(myMonitorObject){ while(!wasSignalled){ try{...

View Article


作者:zxpbenson

哦 懵了 wait操作会释放掉myMonitorObject上的锁

View Article


作者:AnyStretch

被假唤醒的时候,wasSignalled并不会置为true,因此不会退出while循环。

View Article

作者:AnyStretch

很好的文章,让人茅塞顿开。

View Article

作者:dongzh

wasSignalled为false,那直接又会执行wait,线程进入等待,为什么会有 “CPU会消耗太大”的说法?假唤醒这条表述的有问题吧

View Article


作者:AllenZhou

请教个问题,这个假唤醒是什么原因导致的?跟操作系统 API 有关?

View Article

作者:麦芽糖

好文章 顶起!!!!!!!!!!!!!!

View Article

作者:黄 文海

“Spurious...

View Article


作者:tian251yu

你好,丢失的信号代码第八行,if(!wasSignalled)是否应该是if(wasSignalled)

View Article


作者:xuxx09

赞同这个观点

View Article

作者:watermellon

很生动的例子,其中第2点的忙等待小A小B是不是顺序反了? 还有就是第5点假唤醒,能不能这样理解:图书管其实这本书可以借了,图书管发短信通知可以借书的这个时间段,书刚好又被借走了,所以造成了收到短信来借书的同学发现书还没有回来.

View Article

作者:音无麻里亚

同意,这个我一开始看的时候也是懵逼,然后自己测试了一下。就算在while循环里面,wait之后也不会反复检测(菜鸟用system.out简单打印只输出一次),所以这里称为自旋锁容易让人误会

View Article

作者:walter

最后一个全局对象是什么意思

View Article


By: zhili

原文 : the wasSignalled member will still be false. 译文 : wasSignalled变量将变为false 应改为 : wasSignalled变量仍然为false

View Article

作者:wh

示例生动形象,理解起来十分容易。也更容易记在脑中。

View Article

Browsing latest articles
Browse All 41 View Live