Java多线程的Atomic 和 Volatile
Atomic同时解决了可见性及原子性:
可见性即不同线程在调用同一对象时,得到的是最终对象而非对象的复制。
compareAndSwapObject()方法则解决了原子性,即比较交换。
Volatile是一种轻型的synchronization.
可见性:线程调用变量时直接调用对象而非其复制。
但没有涉及到原子性。
所以,多线程操作时,Volatile不保证完全同步。
原创
2014-11-26 19:00:40 ·
848 阅读 ·
0 评论