问题来自Java技术沙龙的李博
Java线下沙龙报名链接:https://yq.aliyun.com/activity/796
1、False sharing假共享(伪共享)主要是产生在多线程多核心CPU共享缓存架构中
2、单个缓存行在英特尔架构上的大小为64字节(在不同平台上,范围从32字节到128),x86-64机器以原子方式使这块内存无效。 不同的内核可以将数据从主内存写入同一缓存。 并发读取期间缓存一致性没有问题,
3、但写入是一种更复杂的操作 - 它会对一致性协议产生很高的负担。 False sharing虚假共享是指存储器单元不同但物理上落在同一缓存线上时。
4、False sharing假共享可能是性能下降的原因(线程必须抵制不同的物理CPU,但在高负载应用程序中它不是问题 - 操作系统会调度线程)。 对局部变量的写入操作可能成本很高。
5、False sharing假共享是自动同步缓存协议的固有功能,也可以存在于分布式文件系统或数据库等环境中,但目前流行仅限于RAM缓存。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。