gpt4 book ai didi

Java同步块(synchronized block)

转载 作者:行者123 更新时间:2023-11-29 06:54:47 25 4
gpt4 key购买 nike

在引用的同步块(synchronized block)中更新引用是否有效?例如:

Synchronized(list)
{
list = new ArrayList();
}

最佳答案

当你写的时候

synchronized (list)

锁是一个对象,而不是变量/字段列表

如果你这样做

synchronized (list) {
list = new ArrayList<>();
}

您正在创建一个新对象,并重新分配一个变量/字段 - 但您没有更改锁 - 锁仍然是之前的同一个对象。

关于Java同步块(synchronized block),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36627649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com