《Java并发编程的艺术》书中的TwinsLock例子存在的 问题

93 阅读1分钟

《Java并发编程的艺术》书中的TwinsLock例子存在的 问题

可能是我看的电子书版本比较旧,所以书中的这一段代码,我执行时结果并不正确。

image.png 按照书中介绍这是应该 每间隔一秒输出两个线程名称,但实际上,不止两个线程获取了锁。同时打印的线程名大于两个。

正确的

正确的做法应该是,当计算出来的新的count小于0, 就应该进入下一次循环

image.png 如果存在问题,请纠正我。