15.3.1  模板类atomic

15.3.1 模板类 atomic

std::atomic是模板类。

978-7-111-51399-5-Chapter15-39.jpg

该模板类的成员函数包括构造函数、赋值符号、无锁属性判断、存储、读取、operatorT()、读取并修改、compare_exchange_weak(比较并交换)和compare_exchange_strong()。

其中构造函数有如下3种形式:

978-7-111-51399-5-Chapter15-40.jpg

针对该模板类及其各成员函数的功能,下面举例说明其用法。

例15-3

978-7-111-51399-5-Chapter15-41.jpg

978-7-111-51399-5-Chapter15-42.jpg

例15-3的执行效果如图15-3所示。

978-7-111-51399-5-Chapter15-43.jpg

图15-3 例15-3的执行效果