函式
<atomic>

std::atomic_flag_test_and_set_explicit

bool atomic_flag_test_and_set (volatile atomic_flag* obj, memory_order sync) noexcept;bool atomic_flag_test_and_set (atomic_flag* obj, memory_order sync) noexcept;
測試並設定原子標誌(顯式記憶體順序)
設定 obj 指向的原子標誌,並返回呼叫前該標誌的即時值。

整個操作是原子的(一個*原子讀-修改-寫*操作):在讀取 obj 的值(用於返回)和本函式修改它的時刻之間,obj 的值不會受到其他執行緒的影響。

有關 atomic_flag 的等效成員函式,請參閱 atomic_flag::test_and_set

引數

obj
指向要設定的 atomic_flag 物件的指標。
sync
操作的同步模式。
這應是 memory_order 列舉型別的一個值。

返回值

如果呼叫前 obj 已經被設定,則返回 true
否則返回 false

資料競爭

無資料競爭(原子操作)。記憶體順序由引數 sync 指定。

異常安全

無異常保證: 絕不丟擲異常。

另見