C++ 标准库 std::atomic 及 std::memory_order

【Example】C++ 标准库 std::atomic 及 std::memory_order

C++ 标准库提供了原子操作。(我已经懒得写序言了)

 

====================================

先来说原子操作的概念:

原子操作是多线程当中对资源进行保护的一种手段,主要作用是和互斥量(Mutex)一样,避免对资源的并发访问、修改。

互斥量的粒度衡量是作用域(哪怕作用域内只有一个变量),而原子的粒度衡量则是以一个变量或对象为单位。因此,原子相对于互斥量更加高效,但并非替代关系。

互斥量的主要作用是保护作用域内的资源,而原子的作用是保护一个变量或对象。

因此,当你需要保护的资源仅仅是某个变量或对象时,应首先考虑使用原子。

 

1,std::atomic

头文件:

#include <atomic>
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » C++ 标准库 std::atomic 及 std::memory_order