面试题答案
一键面试代码实现
#include <stdio.h>
#include <stdatomic.h>
int main() {
atomic_int num = ATOMIC_VAR_INIT(0);
// 原子加操作
atomic_fetch_add(&num, 1);
printf("原子加后的值: %d\n", atomic_load(&num));
return 0;
}
原子操作优势
在多核环境下,普通变量操作在多线程并发访问时可能出现竞态条件,导致数据不一致。而原子操作可以保证操作的原子性,即该操作不可被打断,同一时刻只有一个线程能对其进行操作,避免了数据竞争问题,确保了数据的一致性和正确性,提高了程序在多核环境下的可靠性和稳定性。