c/c++多线程编程中,为什么基本类型不用加锁
2017-02-16 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
先 你描述的不对 严格来说是在对应的cpu体系下遵循了正确的内存对齐的方式的数据才有不需要加锁的可能
加锁主要是防止partial read/.1;write 请参考《intel开发者手册》第三卷8;write以及cpu乱序带来的cpu操作可见性问题
举x86-64的例子来说 一个基本类型如果地址无cache splite(落在两个cacheline中) 都可以保证无partial read/.1
加锁主要是防止partial read/.1;write 请参考《intel开发者手册》第三卷8;write以及cpu乱序带来的cpu操作可见性问题
举x86-64的例子来说 一个基本类型如果地址无cache splite(落在两个cacheline中) 都可以保证无partial read/.1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询