8
按照標題。我可以在信號處理程序中使用std::atomic<>
還是sig_atomic_t
提供其他編譯器功能?sig_atomic_t和std :: atomic <>可互換
按照標題。我可以在信號處理程序中使用std::atomic<>
還是sig_atomic_t
提供其他編譯器功能?sig_atomic_t和std :: atomic <>可互換
n3376 1.9/6
當抽象機的處理是由接收到信號,對象,其 既不是
的值中斷 - 類型的易失的std :: sig_atomic_t也不是
- 無鎖原子對象(29.4)
在信號處理程序的執行過程中未指定,並且處理程序修改的這兩個類別中未處於 中的任何對象的值變得未定義。 29.4/1,2-
原子_..._ LOCK_FREE宏
無鎖指示相應原子類型的無鎖屬性,與 的符號和無符號的變體組合在一起。這些屬性也適用於原子模板的相應(部分) 專業化。值爲0表示類型永不鎖定。值爲 1表示這些類型有時是無鎖的。值爲2表示類型始終是無鎖的。
函數atomic_is_lock_free(29.6)指示對象是否是無鎖的。在任何給定的程序執行中,無鎖查詢的結果應該對於相同類型的所有指針是一致的。
爲了完整性,這意味着你可以使用一個'的std ::原子 X;'變量*如果*'x.is_lock_free()'是真實的。 –
2013-04-11 12:46:07
謝謝你們倆... – James 2013-04-11 13:11:04