Java 基礎拾遺
阿新 • • 發佈:2018-11-09
同步鎖 syn 類名 線程 span 對象 基本數據 tran .class
集合存放的是對象的引用,不是基本數據類型,所以不可以放int啊等,可以放基本數據的包裝類,比如Integer。
同步鎖的方法:
1)寫個同步代碼塊
syncronized(任意對象Obj){
線程要操作的共享數據
}
2)在方法聲明前加synchronized ,叫同步方法 ,對象鎖是本類對象引用this:
public syncronized void payticket(){
}
3)靜態同步代碼塊,對象鎖不是this,是本類類名.class :
public static syncronized void payticked(){
}
4)使用Lock接口,JDK5中有Lock接口,ReentrantLock是Lock的實現類,
Lock lock= new ReentrantLock();
調用Lock接口方法lock獲取鎖:
lock.lock();
try{
//運行代碼塊
}catch{
}finally{
//釋放鎖,使用Lock接口方法unlock():
lock.unlock();
}
Java 基礎拾遺