美文网首页
JMM和volatile

JMM和volatile

作者: ChandlerQian | 来源:发表于2021-02-20 14:32 被阅读0次

    1JMM(Java Memory Model)
    JMM是指Java内存模型,不是JVM,不是所谓的栈、堆、⽅法区。
    每个Java线程都有⾃⼰的⼯作内存。操作数据,⾸先从主内存中读,得到⼀份拷⻉,操作完毕后再写回
    到主内存。

    JMM可能带来可⻅性、原⼦性和有序性问题。
    所谓可⻅性,就是某个线程对主内存内容的更改,应该⽴刻通知到其它线程。
    所谓原⼦性,是指⼀个操作是不可分割的,不能执⾏到⼀半,就不执⾏了。
    所谓有序性,就是指令是有序的,不会被重排。

    2volatile


    image.png

    volatile 关键字是Java提供的⼀种轻量级同步机制。
    它能够保证可⻅性和有序性
    但是不能保证原⼦性
    禁⽌指令重排

    相关文章

      网友评论

          本文标题:JMM和volatile

          本文链接:https://www.haomeiwen.com/subject/wdivsktx.html