浅谈Java多线程(volatile实现可见性)

    xiaoxiao2025-09-16  65

    volatile关键字能保证变量的可见性,但不能保证volatile变量复合操作的原子性。

    简单地说,volatile变量每次被线程访问时,都被迫从主内存中重读该变量值。

    当该变量发生变化时,会强迫线程将最新的值刷新到主内存。

    因此,任何时刻不同线程总能看到该变量的最新值。

    其实Java在语言层面还有第三种方式实现内存可见性,final,它修饰的变量不可更改。

    小结:volatile比synchronized更轻量级,但没有它应用广泛。

    转载请注明原文地址: https://ju.6miu.com/read-1302709.html
    最新回复(0)