5.2 队列同步器 同步器(AbstractQueuedSynchronizer)是实现锁或者说任意同步组件的关键,在锁的实现中聚合同步器,利用同步器实现锁的语义。 同步器和锁的关系:锁是面向使用者的,它定义了使用者与锁交互的接口(比如可以允许两个线程并行访问),隐藏了实现细节;同步器面向的是锁的实现者,它简化了锁的实现方式,屏蔽了同步状态管理、线程的排队、等待与唤醒等底层操作。 5.2.1 队列同步器的接口与示例 同步器的设计基于模板设计模式。 访问修改同步状态的方法: getState():获取当前同步状态 s…

2018年8月2日 0条评论 0点热度 阅读全文

3.4 volatile的内存语义 3.4.1 volatile的特性 理解volatile特性的一个好方法是对volatile变量的单个读、写,看成是使用同一个锁对这些单个读、写操作做了同步。 class VolatileFeaturesExample{ volatile long v1 = 0L; //使用volatile声明64位的long型变量 public void set(long l){ v1 = l; //单个volatile变量的写 } public void getAndIncrement(){…

2018年7月25日 0条评论 1点热度 阅读全文