synchronized重量级锁

2017-04-01  本文已影响26人  sunyuan1125

锁的内容

1、普通同步方法,锁对象,因为其他方法中可能对对象的属性进行操作,所以是直接锁定对象的,该对象的其他sync方法也不能用

public synchronized void synMethod() {

//方法体

}

2、锁静态方法,锁当前类的CLASS对象

3、锁方法块

public int synMethod(int a1){

synchronized(a1) {

//一次只能有一个线程进入

}

}

原理

monitorenter与monitorexit 对应

4不要用String常量做锁

上一篇下一篇

猜你喜欢

热点阅读