摘要: 非阻塞算法:使用底层的原子机器指令(例如比较并交换指令)代替锁来确保数据在并发访问中的一致性 应用于在操作系统和JVM中实现线程 / 进程调度机制、垃圾回收机制以及锁和其他并发数据结构 可伸缩性和活跃性上拥有巨大的优势,不存在死锁 原子变量:提供了与volatile类型变量相同的内存语义,并支持原子 阅读全文
posted @ 2016-11-10 22:09 HectorHou 阅读(583) 评论(0) 推荐(0) 编辑
摘要: 一、状态依赖性管理 对于单线程程序,某个条件为假,那么这个条件将永远无法成真 在并发程序中,基于状态的条件可能会由于其他线程的操作而改变 1 acquire lock on object state 2 while (precondition does not hold) 3 { 4 release 阅读全文
posted @ 2016-11-10 12:20 HectorHou 阅读(576) 评论(0) 推荐(0) 编辑
摘要: 一、Lock与ReentrantLock Lock接口中定义了一种无条件、可轮询的、定时的以及可中断的锁获取操作,所有加锁和解锁的方法都是显式的。 ReentrantLock实现了Lock接口,并提供了与synchronized相同的互斥性和内存可见性。ReentrantLock同样提供了可重入的加 阅读全文
posted @ 2016-11-10 10:53 HectorHou 阅读(1249) 评论(1) 推荐(0) 编辑