步驟 1.讀舊值(即從系統(tǒng)內存中讀取所要使用的變量的值,例如:讀取變量i的值)
步驟2.求新值(即對從內存中讀取的值進行操作,但是操作后不修改內存中變量的值,例如:i=i+1,這一步只進行i+1,沒有賦值,不對內存中的i進行修改)
步驟3.兩個不可分割的原子操作
第一步:比較內存中變量現(xiàn)在的值與 最開始讀的舊值是否相同(即從內存中重新讀取i的值,與一開始讀取的i進行比較)
第二步:如果這兩個值相同的話,則將求得的新值寫入內存中(即:i=i+1,更改內存中的i的值)如果這兩個值不相同的話,則重復步驟1開始
注:這兩個操作是不可分割的原子操作,必須兩個同時完成