Aka*_*jan 1 java synchronization synchronized
更新该引用的同步块中的引用是否有效?例如:
Synchronized(list)
{
list = new ArrayList();
}
Run Code Online (Sandbox Code Playgroud)
当你写作
synchronized (list)
Run Code Online (Sandbox Code Playgroud)
锁是一个对象,而不是变量/字段list.
如果你这样做
synchronized (list) {
list = new ArrayList<>();
}
Run Code Online (Sandbox Code Playgroud)
您正在创建一个新对象,并重新分配一个变量/字段 - 但您没有更改锁定 - 锁定仍然是之前的对象.