命名空间
变体
操作

std::once_flag

来自 cppreference.com
< cpp‎ | thread
 
 
并发支持库
线程
(C++11)
(C++20)
this_thread 命名空间
(C++11)
(C++11)
(C++11)
协作式取消
互斥
(C++11)
通用锁管理
(C++11)
(C++11)
once_flag
(C++11)
(C++11)
(C++11)
条件变量
(C++11)
信号量
闩锁和屏障
(C++20)
(C++20)
期货
(C++11)
(C++11)
(C++11)
(C++11)
安全回收
(C++26)
危险指针
原子类型
(C++11)
(C++20)
原子类型的初始化
(C++11)(C++20 中已弃用)
(C++11)(C++20 中已弃用)
内存顺序
原子操作的自由函数
原子标志的自由函数
 
在头文件中定义 <mutex>
class once_flag;
(自 C++11 起)

std::once_flagstd::call_once 的辅助结构。

传递给 std::call_once 的多个调用中的 std::once_flag 类型对象允许这些调用相互协调,以确保只有一个调用实际完成。

std::once_flag 既不可复制也不可移动。

内容

[编辑] 成员函数

std::once_flag::once_flag

constexpr once_flag() noexcept;

构造一个 once_flag 对象。内部状态设置为指示尚未调用任何函数。

参数

(无)


[编辑] 另请参阅

(C++11)
即使从多个线程调用,也只调用一次函数
(函数模板) [编辑]
C 文档 for once_flag