簡體   English   中英

原子操作是否同步?

[英]does atomic operation synchronize?

原子操作是否在線程之間同步? 我知道沒有一個線程可以看到這樣的操作撤消,但它同步嗎? 例如,如果我在一個線程中寫入某個 var,然后從另一個線程中讀取(在時域中),是否有可能我仍然可以看到舊值?

默認情況下,原子提供順序一致性 (SC)。 SC 不需要尊重實時順序。 因此,可能是在執行寫入(甚至退出)之后,當不同的 CPU 執行加載時,它不會看到該寫入。 因此,在實時順序中,負載發生在寫入之后,但在 memory 順序中,它“發生在”寫入之前。

有關更多信息,請參閱以下答案: “易失性”是否保證任何線程都讀取最近寫入的值?

暫無
暫無

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

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