函式
<atomic>

std::atomic_flag_test_and_set

bool atomic_flag_test_and_set (volatile atomic_flag* obj) noexcept;bool atomic_flag_test_and_set (atomic_flag* obj) noexcept;
測試並設定原子標誌
設定由 obj 指向的原子標誌,並返回呼叫前其擁有的值。

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

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

引數

obj
指向要設定的 atomic_flag 物件的指標。

返回值

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

資料競爭

無資料競爭(原子操作)。該操作使用*順序一致性*(memory_order_seq_cst)。

異常安全

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

另見