• 按线程是否要锁住同步资源:锁住,悲观锁;不锁住,乐观锁;
  • 按等锁过程:不停尝试获取锁,自旋锁;阻塞型,非自旋锁;
  • 按是否可中断:可以,可中断锁;不可以,不可中断锁;
  • 按同一线程是否可重复获取一把锁:可以,可重入锁;不可以,不可重入锁;
  • 按多个线程竞争时是否需要排队:需要,公平锁;不需要,非公平锁;
  • 按能否共享一把锁:可以共享,共享锁;不可以共享,独占锁;
  • 按synchronized中锁竞争程度:偏向锁、轻量级锁、重量级锁;
  • 按实现:jvm实现,内置锁;jdk实现,显式锁;