在「http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm」C++ n2660中單調性的含義是什麼?
即說
[單調性]由單個 螺紋X訪問類型T的單變量V出現在程序順序發生。例如,如果V初始爲0,則X寫入1,然後2寫入V,則線程(包括 但不限於X)可以從V讀取值,然後 從V讀取較低值。這並不妨礙 任意加載和存儲重新排序,它約束了在單個內存位置上的動作之間的僅有的排序 在我目前所瞭解的所有體系結構上,這種假設是 我猜想 Java和CLR內存模型)
我不明白call_once和monotonicity之間的關係。
並找不到關於它的相關文檔。
請幫忙。
該文檔建議'call_once'的實現在「短」路徑中(初始化發生後)不需要內存屏障。這表明依賴於單調性和原子性的標準保證。 – peterchen 2014-10-27 15:35:46