簡體   English   中英

sig_atomic_t和std :: atomic <>是否可以互換?

[英]Are sig_atomic_t and std::atomic<> interchangable?

按照標題。 我可以在信號處理程序中使用std::atomic<>還是sig_atomic_t提供其他編譯器功能?

n3376 1.9 / 6

當抽象機的處理由於接收到信號而中斷時,既不是

—類型為volatile std :: sig_atomic_t或

—無鎖原子對象(29.4)

在信號處理程序執行期間未指定,並且未通過處理程序修改的這兩個類別中任一類別的任何對象的值都將變為未定義。

無鎖29.4 / 1,2

ATOMIC _..._ LOCK_FREE宏指示相應原子類型的無鎖屬性,其中有符號和無符號變體組合在一起。 這些屬性也適用於原子模板的相應(部分)專業化。 值為0表示這些類型永遠不會無鎖。 值為1表示這些類型有時是無鎖的。 值為2表示類型始終是無鎖的。

函數atomic_is_lock_free (29.6)指示對象是否無鎖。 在任何給定的程序執行中,對於相同類型的所有指針,無鎖查詢的結果應保持一致。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM