bosinica:btw,架构师题目九折?
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
Yasu0:不是,大概可以看成三步
1.读取,2.运算,3.赋值
类似于
int j = i ; // mov 操作
j + 1 ; // inc 自增
i = j ; // mov
1.读取,读取就可能不原子,比如32位的电脑读取64位的long double,long和double的长度都是8个字节,32位处理器对其读写操作无法一次完成。 解决方式 用volatile修饰
2. 运算,运算虽然有可能涉及很多个时钟周期,但是是原子性的
3. 赋值 ,跟1 一样。
解决方法
1. 加互斥锁 (Lock)-- 安全,性能影响很大
2. CAS (Atomic 类) -- 很快,可能有ABA问题
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
创作者周榜
更多
关注他的用户也关注了: