天天看點

java高并發

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)

);

繼續閱讀