天天看點

C++ 原子鎖

typedef enum memory_order {

memory_order_relaxed, // 不對執行順序做保證

memory_order_acquire, // 本線程中,所有後續的讀操作必須在本條原子操作完成後執行

memory_order_release, // 本線程中,所有之前的寫操作完成後才能執行本條原子操作

memory_order_acq_rel, // 同時包含 memory_order_acquire 和 memory_order_release

memory_order_consume, // 本線程中,所有後續的有關本原子類型的操作,必須在本條原子操作完成之後執行

memory_order_seq_cst // 全部存取都按順序執行

} memory_order;

繼續閱讀