写点什么

volatile

0 人感兴趣 · 17 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/a5/a5c7a84bd8145a017e2872acbbe99f64.jpeg?x-oss-process=image/resize,w_416,h_234

Java 并发系列(二):DCL — Double Check Lock

用户头像
TroyLiu3 月 29 日

Double Check Lock 是多线程环境下为提高延迟初始化效率而被广泛使用的一种方式。我们常常会使用延迟初始化,以降低服务启动时间。

https://static001.geekbang.org/infoq/bb/bbced94ea119c9b87e02c039ef1b3393.jpeg?x-oss-process=image/resize,w_416,h_234

面试不踩坑!Volatile 的内存屏障源码级详解

用户头像
Java王路飞2 月 15 日

可能一看下面的代码你可能会放弃继续看了,但如果你想要彻底弄明白volatile,你需要耐心,下面的代码很简单!

Java 并发编程之 JMM & volatile 详解

本文从计算机模型开始,以及CPU与内存、IO总线之间的交互关系到CPU缓存一致性协议的逻辑进行了阐述,并对JMM的思想与作用进行了详细的说明。

https://static001.geekbang.org/infoq/ed/edf83c6152d5a273bf334edc46b12f1c.png?x-oss-process=image/resize,w_416,h_234

volatile 关键字精讲

用户头像
伯阳1 月 8 日

通过一个案例引出volatile关键字,例如以下代码示例 : 此时没有加volatile关键字两个线程间的通讯就会有问题

https://static001.geekbang.org/infoq/69/694eb4e4c55fcebdf0f912e863a3b918.jpeg?x-oss-process=image/resize,w_416,h_234

volatile,synchronized 可见性,有序性,原子性代码证明(基础硬核)

用户头像
叫练2020 年 12 月 22 日

volatile,synchronized可见性,有序性,原子性代码证明(基础硬核)

https://static001.geekbang.org/infoq/09/09718222a2c928e4001cfca16ad41256.png?x-oss-process=image/resize,w_416,h_234

从 JMM 透析 volatile 与 synchronized 原理

用户头像
码哥字节2020 年 12 月 16 日

在面试、并发编程、一些开源框架中总是会遇到 volatile 与 synchronized 。synchronized 如何保证并发安全?volatile 语义的内存可见性指的是什么?这其中又跟 JMM 有什么关系,在并发编程中 JMM 的作用是什么,为什么需要 JMM?与 JVM 内存结构有什么区别?

https://static001.geekbang.org/infoq/ad/ad3643259a3ae328e4b767ad075c1994.jpeg?x-oss-process=image/resize,w_416,h_234

Java 中 CAS 原理分析 (volatile 和 synchronized 浅析)

用户头像
叫练2020 年 12 月 14 日

CAS英文解释是比较和交换,是cpu底层的源语,是解决共享变量原子性实现方案,它定义了三个变量,内存地址值对应V,期待值E和要修改的值U,如下图所示,这些变量都是在高速缓存中的,如果两个线程A,B分别通过cas方式同时修改共享变量,假设当A线程先获取时间

https://static001.geekbang.org/infoq/df/dfaa541e10666baac0973c795807b791.jpeg?x-oss-process=image/resize,w_416,h_234

可见性是什么?(通俗易懂)

用户头像
叫练2020 年 12 月 10 日

可见性是什么?(通俗易懂)

多线程问的太深入不知道怎么回答,从 volatile 开始给你讲清楚

用户头像
小Q2020 年 11 月 17 日

可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。

浅析 Java 内存模型 三

用户头像
朱华2020 年 10 月 11 日

volatile 是一种同步机制,比 synchronized 或者 Lock 相关类更轻量,因为使用 volatile 并不会发生上下文切换等开销很大的行为。

https://static001.geekbang.org/infoq/bb/bb2aa15326b6d620836b14fe37558775.jpeg?x-oss-process=image/resize,w_416,h_234

阿里为什么推荐使用 LongAdder,而不是 volatile?

用户头像
王磊2020 年 8 月 25 日

LongAdder 和 AtomicLong 哪个性能更好?如何证明 volatile 在多写多线程下有问题?本文给你答案

https://static001.geekbang.org/infoq/5c/5c0032bebbdf56a5bec500e999e4fdad.jpeg?x-oss-process=image/resize,w_416,h_234

Java 中的 volatile 关键字

用户头像
王坤祥2020 年 8 月 25 日

Volatile [ˈvɑːlətl],中文解释:反复无常的,易变的,不稳定的。

https://static001.geekbang.org/infoq/dd/dd5453c48b1c3a6369e01c369bfc20f3.png?x-oss-process=image/resize,w_416,h_234

没内鬼,来点干货!volatile 和 synchronized

用户头像
Kerwin2020 年 7 月 14 日

这篇笔记是我《没内鬼》系列第二篇,其实我计划是把设计模式和多线程并发分为两个系列,统一叫《一起学系列》来系统的介绍

JMM 的前世今生

用户头像
fkc_zyk2020 年 5 月 30 日

本文从CPU底层开始讲起重排序及可见性的问题,然后结合JMM来进一步分析重排序和可见性造成的原因,说明为什么要JMM,以及什么是JMM,最后讲解JMM怎么使用,常见的问题解答。

Java 并发编程基础 --volatile

用户头像
Java收录阁2020 年 5 月 6 日

在多线程并发编程中synchronized和volatile都扮演着重要角色,volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的"可见性"。如果volatile修饰符使用恰当的话,它比synchronized的使用和执行成本更低,因为它不会引起线程上下文的切换和调度

https://static001.geekbang.org/infoq/f3/f3280f00b58861f99eb9830ea6c9679c.jpeg?x-oss-process=image/resize,w_416,h_234

死磕 Java 并发编程(3):volatile 关键字不了解的赶紧看看

用户头像
七哥爱编程2020 年 4 月 25 日

深入解析 高频面试点 volatile 关键字的内存语义和实现,赶紧来看看

volatile_volatile资料文章-InfoQ写作平台