在原子类能保证安全的情况下,建议使用原子类操作;
原子类保证不了的,就需要使用syncrenized,以卖票为例。
共享多行代码时用一般用syncrenized。
jdk1.6之前,syncronized完全依赖底层内核线程加锁操作 – 重量级锁,效率很差。
从jvm虚拟机跑到操作系统底层内核态判断锁的状态,然后在返回给jvm虚拟机进行下一步操作
在原子类能保证安全的情况下,建议使用原子类操作;
原子类保证不了的,就需要使用syncrenized,以卖票为例。
共享多行代码时用一般用syncrenized。
jdk1.6之前,syncronized完全依赖底层内核线程加锁操作 – 重量级锁,效率很差。
从jvm虚拟机跑到操作系统底层内核态判断锁的状态,然后在返回给jvm虚拟机进行下一步操作