1. 程式人生 > >Java 中atomic 類底層機制、協程

Java 中atomic 類底層機制、協程

1、Java 中atomic 類底層機制

atomic類:AtomicInteger 等,其底層使用CAS機制,CAS 的底層實現時unsafe的compareAndSwapInt(this,valueOffset, expect, update)方法,其保證V , A, B 的原子性;CAS 屬於樂觀鎖,而synchronized 屬於悲觀鎖,CAS和synchronized 都是解決多執行緒下的安全問題,超過三個變數同時更新,則使用synchronized方法,低於三個建議使用aotomic類。

ABA問題,由於普通的cas機制通過檢測誤判,加入版本號的比較則可以解決。

2、協程

協程是比執行緒更輕量級的存在,協程不是用作業系統的核心管理,而是由程式控制,因此比執行緒更加高效。