Java 重入锁定对象锁定
我正在尝试同步某些对象,代码如下所示:Java 重入锁定对象锁定,java,concurrency,java.util.concurrent,locks,Java,Concurrency,Java.util.concurrent,Locks,我正在尝试同步某些对象,代码如下所示: conLock.tryLock(); this.end(); Obj1 = Obj2; Obj3 = Obj4.build(); } finally { conLock.unlock(); } 有人能帮我确定一下,在解锁之前,是否所有的物体都会被锁定以进行修改 文档的任何部分也会有所帮助 所有对象都将被锁定以进行修改 Java中的锁无论是通过synchronized
conLock.tryLock();
this.end();
Obj1 = Obj2;
Obj3 = Obj4.build();
} finally {
conLock.unlock();
}
有人能帮我确定一下,在解锁之前,是否所有的物体都会被锁定以进行修改
文档的任何部分也会有所帮助
所有对象都将被锁定以进行修改
Java中的锁无论是通过synchronized关键字还是通过锁实现都不会直接保护任何东西。没有任何内容会因此而被锁定
它们仅仅是建议锁,一种允许您通过确保代码与这些锁正确协调执行来编写线程安全代码的协议。但是,仍然需要由您确保适当地覆盖所有关键部分,例如修改某些可变状态的代码路径,即取出需要取出的锁
它们不会阻止您编写或执行忽略锁的代码 不会。除非这是唯一分配Obj1和Obj3的地方。读取可变状态的代码路径也是“关键部分”。