摘要: atomic 每个 std::atomic 模板的实例化和全特化定义一个原子类型。若一个线程写入原子对象,同时另一线程从它读取,则行为良好定义。 另外,对原子对象的访问可以建立线程间同步,并按 stdmemory_order 所对非原子内存访问定序。 stdatomic 既不可复制亦不可移动。 成员 阅读全文
posted @ 2022-03-02 23:21 放飞梦想C 阅读(281) 评论(0) 推荐(0) 编辑
摘要: promise 空模板 非 void 特化,用于在线程间交流对象 void 特化,用于交流无状态事件 类模板 stdpromise 提供存储值或异常的设施,之后通过 stdpromise 对象所创建的 stdfuture 对象异步获得结果。注意 stdpromise 只应当使用一次。 每个 prom 阅读全文
posted @ 2022-03-02 23:03 放飞梦想C 阅读(121) 评论(0) 推荐(0) 编辑
摘要: condition_variable condition_variable 类是同步原语,能用于阻塞一个线程,或同时阻塞多个线程,直至另一线程修改共享变量(条件)并通知 condition_variable 。 有意修改变量的线程必须 获得 stdmutex (常通过 stdlock_guard ) 阅读全文
posted @ 2022-03-02 23:01 放飞梦想C 阅读(244) 评论(0) 推荐(0) 编辑
摘要: lock_guard 类 lock_guard 是互斥体包装器,为在作用域块期间占有互斥提供便利 RAII 风格机制。 创建 lock_guard 对象时,它试图接收给定互斥的所有权。控制离开创建 lock_guard 对象的作用域时,销毁 lock_guard 并释放互斥。 lock_guard 阅读全文
posted @ 2022-03-02 23:00 放飞梦想C 阅读(79) 评论(0) 推荐(0) 编辑
摘要: mutex mutex 类是能用于保护共享数据免受从多个线程同时访问的同步原语。 mutex 提供排他性非递归所有权语义: 调用方线程从它成功调用 lock 或 try_lock 开始,到它调用 unlock 为止占有 mutex 。 线程占有 mutex 时,所有其他线程若试图要求 mutex 的 阅读全文
posted @ 2022-03-02 22:59 放飞梦想C 阅读(84) 评论(0) 推荐(0) 编辑
摘要: thread 类 thread 表示单个执行线程。线程允许多个函数同时执行。 线程在构造关联的线程对象时立即开始执行(等待任何OS调度延迟),从提供给作为构造函数参数的顶层函数开始。顶层函数的返回值将被忽略,而且若它以抛异常终止,则调用 stdterminate 。顶层函数可以通过 stdpromi 阅读全文
posted @ 2022-03-02 22:58 放飞梦想C 阅读(169) 评论(0) 推荐(0) 编辑