原理: volatile使用内存屏障保证所有线程的更改都能立刻被感知到,直接从主内存中读取
使用场景: 不依赖变量本身的值,如下图,index依赖本身的值就不能保证线程安全。复合操作也是如此,比如++i,这种会依赖变量本身的值。volatile变量不能用作计数器之类的功能。

本文深入解析了Volatile关键字的工作原理,通过内存屏障确保所有线程即时感知变量更新,适用于不依赖变量值的场景,如状态标记。同时强调Volatile不适合用于计数器等依赖复合操作的场景。
原理: volatile使用内存屏障保证所有线程的更改都能立刻被感知到,直接从主内存中读取
使用场景: 不依赖变量本身的值,如下图,index依赖本身的值就不能保证线程安全。复合操作也是如此,比如++i,这种会依赖变量本身的值。volatile变量不能用作计数器之类的功能。

430

被折叠的 条评论
为什么被折叠?