特定的無鎖場景問題(如無鎖棧)解決:AtomicStampedReference

雖然無鎖比較交換讓代碼看起來比直接加鎖複雜一點點,但是無鎖比較交換能提供更高的效率,沒錯,且不存在死鎖問題,但是無鎖操作不是所有場景下都是安全的。先用最簡單直白的概括回顧下CAS,有三個參數V,E,N,只有當「預期值」E和對象V的值相等時,才把V的值更新爲「更新值」V。可以看到,是否修改V的值,取決於V的值和E是否相等,如果不相等,那麼程序就會重新讀取V的值,直到V的值與E相等後,才做修改操作(當
相關文章
相關標籤/搜索