如题所述
java中的对象锁,按照官方对线程所的解释,java中每个对象都有一个令牌,令牌有2种状态,当一个线程来访问资源时,会先检查这个令牌的状态。如果被占用则自己就处于等待状态。
synchronized(objA){
objB.method();
}
一般不建议这样使用,如果一个对象A被当成对象锁,资源时对象B;而对象B被当成资源A的对象锁,这样会造成死锁情况。
synchronized(objA){
objB.method();
}
一般不建议这样使用,如果一个对象A被当成对象锁,资源时对象B;而对象B被当成资源A的对象锁,这样会造成死锁情况。
温馨提示:答案为网友推荐,仅供参考