美文网首页
volatile 关键字

volatile 关键字

作者: gczxbb | 来源:发表于2019-03-20 01:01 被阅读0次

    线程内存,
    当一个线程创建对象instance时,在堆内存中创建对象,引用指向堆内存的地址。
    当对这个引用内容进行修改与赋值时,并不是直接操作堆内存对象。如果这样,所有线程操作同一个地方,也不会出现不一致问题了。这里要说的是线程内存,线程若要读取instance中的xxx值时,根据引用找到堆

    内存这个对象的属性值,赋值给线程中的变量instance.xxx,修改完毕,用这个值覆盖堆中的xxx值。

    总结一下就是,每个线程访问对象时,利用引用读取对象的属性拷贝到自己的线程内存,修改完毕覆盖回去。
    这种情况可能会别人修改的还未覆盖就已经读取了,导致不一致问题。

    volatile关键字就是每次使用前都和堆内存进行读取或者写回操作,这样不管哪个线程使用该关键字
    修饰的变量,都能保证使用时先同步堆内存数据,保证了线程的可见性。


    任重而道远

    相关文章

      网友评论

          本文标题:volatile 关键字

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