当前位置: 代码迷 >> J2SE >> java的锁机制解决思路
  详细解决方案

java的锁机制解决思路

热度:79   发布时间:2016-04-24 14:00:13.0
java的锁机制
在同一个类中能不能同时加两个不同的锁?比如一个是锁成员a的读写,另一个是锁成员b的读写?

------解决方案--------------------
这样?
Object a=new Object();
Object b=new Object();

synchronized(a)
{

}

synchronized(b)
{

}
------解决方案--------------------
可以的啊
synchronized(a){.......}
锁是加在对象a上的 只不过不能对一个对象第二次上锁而已 与这个语句包含在哪个对象里面无关

除非是
public synchronized int myFunction(){...}
这种写法才是把锁加载包含这个函数的对象上 就相当于
public int myFunction(){
synchronized(this){.......}
}
------解决方案--------------------
可以,不过现在都不用synchronized了,都用ReentrantLock了.
  相关解决方案