gpt4 book ai didi

java - 同步会影响对象成员吗?

转载 作者:太空宇宙 更新时间:2023-11-04 07:38:55 25 4
gpt4 key购买 nike

如果我调用一个对象同步,我可以像访问同步对象一样访问该对象内部的对象吗?或者我只能访问数据类型?

最佳答案

即使您的目标是保护数据,同步也提供了代码块而不是数据的排他性。同步块(synchronized block)外部(或使用不同对象的 block 中)的代码可能会更改您试图保护的数据,即使这不是您想要的。

任何正确的锁定策略都必须确保可能相互干扰的代码块持有相同的锁。其中包括可能干扰在第二个线程中运行的另一个自身副本的代码。

synchronized (myObject) {
// sensitive code
}

方法级别的锁定只是锁定方法主体的 this 指针的简写。 (或者静态方法的 class 对象)。

关于java - 同步会影响对象成员吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16371795/

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