Java锁的分类: 6类,乐 重 平 享 自 断
    1.线程要不要锁住同步资源 :
    (1) 锁住 悲观锁
    (2) 不锁住 乐观锁
    2.同一线程是否可以重复获取同一把锁:
    (1)可以 可重入锁
    (2)不可以 不可重复锁
    3.多线程竞争时,是否排队:
    (1)排队 公平锁
    (2)不排队 先尝试插队,插队失败再排队,非公平锁
    4.多线程能否共享一把锁:
    (1)可以 共享锁
    (2)不可以 排他锁
    5.等锁的过程:
    (1)自旋 自旋锁
    (2)阻塞 非自旋锁
    6.是否中断:
    (1)可以 可中断锁
    (2)不可以 非可中断锁