摘要: 接上文《深入浅出Java并发包—锁机制(二) 》 由锁衍生的下一个对象是条件变量,这个对象的存在很大程度上是为了解决Object.wait/notify/notifyAll难以使用的问题。 条件(也称为条件队列 或条件变量)为线程提供了一个含义,以便在某个状态条件现在可能为 true 的另一个线程通 阅读全文
posted @ 2016-02-24 17:48 人生设计师 阅读(1143) 评论(0) 推荐(0)
摘要: 接上文《深入浅出Java并发包—锁机制(一) 》 2、Sync.FairSync.TryAcquire(公平锁) 我们直接来看代码 protected final boolean tryAcquire(int acquires) { final Thread current = Thread.cur 阅读全文
posted @ 2016-02-24 17:44 人生设计师 阅读(3694) 评论(1) 推荐(0)
摘要: 前面我们看到了Lock和synchronized都能正常的保证数据的一致性(上文例子中执行的结果都是20000000),也看到了Lock的优势,那究竟他们是什么原理来保障的呢?今天我们就来探讨下Java中的锁机制! Synchronized是基于JVM来保证数据同步的,而Lock则是在硬件层面,依赖 阅读全文
posted @ 2016-02-24 17:33 人生设计师 阅读(29752) 评论(0) 推荐(1)