什麼是循序一致性(Sequential consistency)
所有核心的操作可排成單一順序,且各核心的操作看起來都依程式順序的、最直觀的記憶體一致性模型。
日文名稱: 逐次一貫性
「循序一致性(Sequential consistency)」出現在1領域的3道練習題中(多核心與同步等)。
這個名詞所屬的領域: 多核心與同步
所有核心的操作可排成單一順序,且各核心的操作看起來都依程式順序的、最直觀的記憶體一致性模型。
日文名稱: 逐次一貫性
「循序一致性(Sequential consistency)」出現在1領域的3道練習題中(多核心與同步等)。
這個名詞所屬的領域: 多核心與同步
在循序一致性中,多個核心的操作就像洗牌一樣被排成一列,而各核心的操作在其中看起來維持程式的順序。
關於循序一致性(sequential consistency),下列說明何者正確?在循序一致性下,其中一方的寫入會最先進行,所以至少有一方的讀取應該會看到1。
將上方的兩個執行緒在不同的核心上同時執行(假設編譯器不進行重新排序)。下列哪一個結果在循序一致性下不會發生,但在x86…原子變數的操作預設為循序一致性(memory_order_seq_cst),雖然最容易理解,但屏障的負擔也最大。
C11的_Atomic或C++11的std::atomic可以指定記憶體順序(memory order),其理由下列何…儲存緩衝區(Store buffer) 記憶體屏障(Memory barrier) 互斥鎖(Mutex) 比較並交換(Compare-and-swap) 目錄式一致性(Directory-based coherence) 交易式記憶體(Transactional memory) 死結(Deadlock) 自旋鎖(Spinlock) 屏障同步(Barrier synchronization) 原子指令(Atomic instruction)