原子变量 atomic_set 类型为何在int外嵌套结构体

Linux中原子变量atomic_t在 include/linux/types.h 中定义如下

typedef struct {
    int counter;
} atomic_t;

结构体中只有一个int型变量,那为什么还要封装成一个结构体呢?原因如下:
1、防止原子变量被不小心直接赋值
2、做成结构体,以后方便扩展

你可能感兴趣的:(linux,linux内核)