zoukankan      html  css  js  c++  java
  • volatile的使用

    volatile并不是java语言的特产,c语言中也有,它的原始意义就是禁用CPU缓存

    比较synchronized和volatile

    volatile和sychronized都可以保证线程的可见性

    volatile的优势,不引起线程上下文的切换

    一、CPU术语

    二、volatile写操作

     加了volatile变量修饰后会多出两行汇编代码,有两个作用

    (1)将当前处理器缓存行的数据写回到系统内存

    (2)这个写回内存的操作会使在其他CPU缓存了该内存地址的数据无效

    缓存的一致性问题是怎么解决的:

    每个处理器通过嗅探在总线上传输的数据,从而来检查自己是否过期,如果发现自己过期则将缓存行设置成无效状态

    当当前处理器需要对这个数据进行修改操作时,会重新从系统内存中读取数据进行处理

  • 相关阅读:
    DS博客作业05--查找
    DS博客作业04--图
    数据结构-栈,队列
    我の第六篇博客
    我の第五篇博客
    我の第四篇博客
    我の第三篇博客
    我の第二篇博客
    Java 购物车大作业01
    有理数类的设计
  • 原文地址:https://www.cnblogs.com/anyanpeng/p/14153999.html
Copyright © 2011-2022 走看看