lock():獲得鎖,如果鎖已經被占用,則等待。
lockinterruptibly() :獲得鎖,但優先響應中斷。
trylock():嘗試獲得鎖,如果成功,則傳回true,失敗則傳回false。該方法不等待,立即傳回。
trylock(long time,timeunit unit):在給定時間内嘗試獲得鎖。
unlock():釋放鎖。
reetrantlock可以實作線程安全的list,但是reetrantlock是獨占鎖,
在讀多寫少的情況下性能很差,使用讀寫鎖reetrantreadwritelock可提高效率
```import java.util.arraylist;
import java.util.concurrent.locks.lock;
import java.util.concurrent.locks.reentrantreadwritelock;
public class reentrantlocklist {
}
threadpoolexecutor executors = new threadpoolexecutor(
1,
100,
timeunit.seconds,
new linkedblockingdeque<>(100)
);