volatile的可见性原理是什么
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,volatile的可见性原理是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。关键点1: 总线嗅探器(MESI 缓存一致性原理 )关键
千家信息网最后更新 2025年02月03日volatile的可见性原理是什么
volatile的可见性原理是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
关键点1: 总线嗅探器(MESI 缓存一致性原理 )
关键点2: 总线锁、缓存锁,为了解决并发问题,会在内存区域的值加锁(内存锁),是在store 之前会给总线内的值加一个锁,write 完成后在解锁(这里大部分是缓存行锁的,总线锁看情况)。
关键点3:
就是为了使一个CPU上运行的线程能够读取到另外一个CPU线程的共享变量更新。这个CPU必须先根据无效化队列中存储的消息,删除相应高速缓存内的数据副本,从而在其他CPU更新共享变量时能通过缓存一致性协议同步到该CPU的高速缓存中。内存屏障中的加载屏障 (Load Barrier)就是用来解决这个问题的。Load Barrier会根据会根据无效化队列内容的内存地址,将其他CPU上使用了该缓存的高速缓存中对应的数据状态标记为I,从而使用该CPU后续针对这个的读操作时必须先发送Read消息,以将其他处理器对相关共享变量所做的更新同步到该处理器的高速缓存中。
当修改了增加volatile 的变量时,会马上将变量值写回到主内存中,这时会在store 前对主内存的这个变量加锁,在store 通过总线的时候触发MESI缓存一致性协议,通过总线嗅探器将其他cpu工作内存中的此变量置为无效状态(涉及内存屏障)。当次cpu 完成变量的write 操作时,在对变量进行解锁。
看完上述内容,你们掌握volatile的可见性原理是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
缓存
内存
变量
总线
问题
高速
原理
一致
一致性
关键
关键点
内容
屏障
更新
处理器
就是
数据
方法
更多
消息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发术语gb
如何下载生物数据库
批量数据库操作教程
数据库形参和实参的关键词
数据库对统计学有什么用
文献来源数据库怎么填写
科研项目中的软件开发怎么开票
数据库审计报告安全
上海电信软件开发地址长寿路
澳博软件数据库异常怎么回事
服务器安装后怎么装系统
托管服务器与自行管理的区别
云服务器的安全方向
2021年网络安全知识讲座
华为服务器存储
襄阳网络安全问题
软件开发小公司是私人老板吗
服务器远程桌面怎么安全配置
php与数据库主体部分下载
北京软件开发行业毕业薪资
明日之后更新服务器会有什么
计算机全文数据库技术
生物医学文献数据库题目
HCNA网络安全工作
软件开发任务分解模板
计算机网络技术与应用任
沈逸网络安全知乎
不可忽视的金融网络安全
中专工资计算机网络技术
暗黑破坏神最强服务器