【Java并发编程的艺术2】Java并发机制的底层实现原理

【Java并发编程的艺术2】Java并发机制的底层实现原理

volatile的应用

volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的**“可见性”**(当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值)。如果volatile变量修饰符使用恰当的话,它比synchronized的使用和执行成本更低,不会引起线程上下文的切换和调度

volatile的定义与实现原理

Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。

术语 英文单词 术语描述
内存屏障 memory barries 一组处理器指令,用于实现对内存的顺序限制
缓冲行 cache line CPU高速缓存中可以分配的最小存储单位。处理器填写缓存行时会加载整个缓存行,现代CPU需要执行几百次CPU指令
原子操作 atomic operations 不可中断的一个或一系列操作
缓存行填充 cache line fill 当处理器识别到从内存中读取操作数是可缓存的,处理器读取整个高速缓存行到适当的缓存(L2,L3,L3的或所有)
写命中 write hit 当处理器将操作数写回到一个内存缓存的区域时,它会首先检查这个缓存的内存地址是否在缓存行中,如果存在一个有效的缓存行,则处理器将这个操作数写回到缓存,而不是写回到内存,这个操作被称为写命中。
写缺失 write misses the cache 一个有效的缓存行被写入到不存在的内存区域
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值