重入锁 ReentrantLock
1.方法介绍
lock():获得锁,如果锁已经被占用,则等待
lockInterruptibly():获得锁,但优先响应中断
tryLock():尝试获得锁,如果成功,则返回true,失败返回false。该方法不等待,立即返回
tryLock(long time,TimeUnit unit):在给定时间内尝试获得锁
unlock():释放锁
2.公平锁
public ReentrantLock(boolean fair)
fair为true时,表示锁是公平的,即表示线程会轮训的获得锁