1.synchronized&Lock.lock() 基于对象监视+队列
2.Atomic* 基于CAS
缺点:
3.volatile,基于CPU Lock指令,一旦被修改,其他线程里的该对象地址会失效需要重新获取。保证了值的最新。
4.volatile的使用优化,独占cache line的对象。避免False sharing