1. 程式人生 > >ReentrentLock重入鎖

ReentrentLock重入鎖

col 好的 final logs 表示 pre 時間 lean 如果

ReentrentLock lock=new ReentrentLock();
lock.lock();
//鎖的代碼
finally{
lock.unlock();
}
ReentrentLock 比synchronized具有更好的擴展性
ReentrentLock 可以通過lockInterruptibly()方法實現中斷鎖 通過Thread的interrput方法中斷,中斷之後放棄執行,釋放資源

ReentrentLock可以通過tryLock(),tryLock(時間,時間單位)所申請等待時間,如果獲得成功返回true,如果是失敗返回false,tryLock()會立即返回,tryLock(時間,時間單位)在這段時間內嘗試獲得鎖。
ReentrentLock構造方法裏面有一個boolean fair 默認false,傳入true表示公平鎖

ReentrentLock重入鎖