Advertisement

c++11-atomic

阅读量:

C++2011标准

原子层面的特性分析

原子模板
一种用于封装特定值类型的结构,能够在多线程环境下实现内存访问的同步操作。

atomic_flag
属于 atomic 模板类的一种具体实现形式

复制代码
    std::atomic_bool 	std::atomic<bool>
    std::atomic_int 	std::atomic<int>
    //fast指的是64bit系统使用32bit时会比较慢,所以用64bit整数
    std::atomic_int_fast32_t 	std::atomic<int_fast32_t>
    
    
    
      
      
      
      
      
    

std::atomic_flag 可以被视为一种无需锁定机制的互斥量。
其特性在于实现无锁操作

复制代码
    std::atomic_flag lock = ATOMIC_FLAG_INIT;
     
    while (lock.test_and_set(std::memory_order_acquire))  // acquire lock
             ; // spin
    ...
    lock.clear(std::memory_order_rele

全部评论 (0)

还没有任何评论哟~