2013-04-11 87 views

回答

10

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)指示對象是否是無鎖的。在任何給定的程序執行中,無鎖查詢的結果應該對於相同類型的所有指針是一致的。

+10

爲了完整性,這意味着你可以使用一個'的std ::原子 X;'變量*如果*'x.is_lock_free()'是真實的。 – 2013-04-11 12:46:07

+0

謝謝你們倆... – James 2013-04-11 13:11:04

相關問題