
Java并发
Abyjun
这个作者很懒,什么都没留下…
展开
-
volatile特性和内存语义
在多线程并发编程中,synchronized和volatile都扮演着重要的角色,volatile是轻量级的synchronized,它在多线程开发中保证了共享变量的可见性。volatile特性volatile变量自身有两个特性: 原子性:对于任意单个volatile变量的读/写具有原子性,但是类似与volatileVal++这种复合操作来说,它就不具有原子性。 可见性:对于一个volatile变量原创 2015-10-02 15:58:26 · 2219 阅读 · 0 评论 -
happens-before规则解析
happens-before规则是java memory model(JMM)最核心的概念。所以,理解happens-before规则对于理解JMM是至关重要的。java重排序之所以会出现happens-before规则,是因为java中存在重排序的情况。重排序:是指编译器和处理器为了优化程序性能而对指令序列进行重排序的一种手段。JMM对编译器和处理器的要求是,只要你保证了程序在单线程和正确同步的多原创 2015-10-02 15:38:17 · 1497 阅读 · 0 评论