鎖的內(nèi)容
1、普通同步方法,鎖對(duì)象,因?yàn)槠渌椒ㄖ锌赡軐?duì)對(duì)象的屬性進(jìn)行操作,所以是直接鎖定對(duì)象的,該對(duì)象的其他sync方法也不能用
public synchronized void synMethod() {
//方法體
}
2、鎖靜態(tài)方法,鎖當(dāng)前類的CLASS對(duì)象
3、鎖方法塊
public int synMethod(int a1){
synchronized(a1) {
//一次只能有一個(gè)線程進(jìn)入
}
}
原理
monitorenter與monitorexit 對(duì)應(yīng)
4不要用String常量做鎖