FWQ
i++ 是原子操作吗?
i++ 的原子性探讨 在软件开发中,原子性操作是指不可中断的基本操作序列。那么,一个常见的操作符 i++ 是否是一个原子操作呢? 答案:否 i++ 并不是一个原子操作,它实际上是一种语法糖。为了实现 i++ 的功能,编译器会将其转换为三个顺序执行的动作: 获取 i 的当前值 将 1 加到 i 的当前值 将新的值赋给 i 这三个动作并不是同时执行的,因此 i++ 并不是一个原子操作。以下代码演示了这一点: int i = 0; Thread…