synchronized锁升级
1、如果是一个线程,则在object对象上记录这个线程的ID,偏向这个线程,所以叫偏向锁;
2、如果有第二个线程来,则第二个线程升级为自旋锁,就是while true死等获取锁,一般是10次;
3、如果超过是10次还没获取到锁,则升级为重量级锁,就是操作系统级别的锁;
ps:执行时间短且线程较少用自旋锁;执行时间长,线程多用系统锁;
种桃道士归何处,前度刘郎今又来。
1、如果是一个线程,则在object对象上记录这个线程的ID,偏向这个线程,所以叫偏向锁;
2、如果有第二个线程来,则第二个线程升级为自旋锁,就是while true死等获取锁,一般是10次;
3、如果超过是10次还没获取到锁,则升级为重量级锁,就是操作系统级别的锁;
ps:执行时间短且线程较少用自旋锁;执行时间长,线程多用系统锁;