synchronized
注意事项:
1、synchronized
(Object )
--不能使用 String常量 Integer long
2 线程同步
-synchronize
锁的是对象不是代码
this XX.classs
加锁的方法跟不加锁的方法可以同时运行 互不干扰
锁升级
--1. 偏向锁(无锁) 我偏向你认为是你的
--2 自旋锁 用于处理线程数较少、执行时间短的时候(自旋也耗CPU时间)
--3重量级锁(OS级别的) 用于执行线程数多、执行时间长的时候。 不消耗CPU时间
synchronized
:是标准的可重入锁 (如果不是可冲入锁 子类掉父类方法就废了 加了两把锁。)