归档: 2016/6

0

摸清Java并发安全的套路

概述之前的文章《Java线程同步策略》对Java的并发策略有了一个比较详尽的介绍。其中讲到ReentrantLock时提及到了AbstractQueuedSynchronizer(下文简称AQS)这个类。从字面含义去揣度,这就是一个抽象的队列同步器。所谓抽象,想必有许多方法(或者说模板)还需要开发者具体实现;所谓队列,意味着其中维护一套遵循FIFO原则的存储结构;所谓同步,说明其中蕴含某种系统级

0

Java线程同步策略

线程安全概述引用《Java Concurrency In Practice》对线程安全的定义 当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。 这意味着如若要实现线程安全,代码本身必须要封装所有必要的正确性保障手段(比如锁的实现),以确保程