1. 程式人生 > >原子操作(Atomic)

原子操作(Atomic)

例如在單核系統裡,單個的機器指令可以看成是原子操作(如果有編譯器優化、亂序執行等情況除外);在多核系統中,單個的機器指令就不是原子操作,因為多核系統裡是多指令流並行執行的,一個核在執行一個指令時,其他核同時執行的指令有可能操作同一塊記憶體區域,從而出現數據競爭現象。多核系統中的原子操作通常使用記憶體柵障(memory barrier)來實現,即一個CPU核在執行原子操作時,其他CPU核必須停止對記憶體操作或者不對指定的記憶體進行操作,這樣才能避免資料競爭問題。