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、协程
协程是比线程更轻量级的存在,协程不是用操作系统的内核管理,而是由程序控制,因此比线程更加高效。