C++11
shbyu
这个作者很懒,什么都没留下…
展开
-
std::memory_order
摘要摘要原型为: enum memory_order;如果不使用任何 同步机制(如mutex或atomic), 在多线程中读写同一个变量, 那么, 程序的结果是 难以预料的:1. 即使是简单的语句, C++也不保证是 原子操作. 如 int i = 100;2. CPU可能会调整 指令的执行顺序,3. 在CPU cache的影响下, 一个线程 执行了某个命令, 不会立即被其...原创 2020-02-07 18:13:18 · 339 阅读 · 0 评论 -
std::atomic_flag
摘要原型: struct atomic_flag;Atomic flags是boolean atomic 对象, 支持两种操作, test-and-set 和 clear.Atomic flags是 lock-free(原子操作), 是唯一被保证的lock-free 原子操作的.Constructoratomic_flag() noexcept = default;atom...原创 2020-02-06 20:01:31 · 517 阅读 · 0 评论 -
std::this_thread
Interface get_idInterface yieldInterface sleep_untilInterface sleep_forstd::this_thread里有 访问 当前线程的 接口函数.Interface get_id函数原型: thread::id get_id() noexpect; // 返回 calling thread的 thread i...原创 2020-02-06 18:17:59 · 690 阅读 · 0 评论 -
std::atomic
介绍Constructoroperator=is_lock_freestoreloadoperator Texchangecompare_exchange_weakcompare_exchange_strongfetch_addfetch_subfetch_andfetch_orfetch_xoroperator++operator-...原创 2020-02-04 09:52:15 · 834 阅读 · 0 评论 -
std::mutex
ConstructorLockunlocktry_lock类mutex的原型是:class mutex;mutex是一个可锁定的对象, 用于在关键代码部分需要 独占访问 时发出信号, 防止其它线程同时执行和访问相同的内存位置.mutex提供对对象的独占所有权, 不支持 递归性[即线程不应锁定其已拥有的mutex]. 若要考虑递归性, 请参考 recursive_...原创 2020-01-12 22:47:51 · 234 阅读 · 0 评论 -
enable_shared_from_this
类enable_shared_from_this使用场合Why not this pointer?Why not shared_ptr?shared_from_thisshared_from_this不能用在构造函数中类enable_shared_from_thisenable_shared_from_this 是个 模板类, 定义于头文件<memory>,...原创 2020-01-12 18:06:59 · 418 阅读 · 0 评论