gpt4 book ai didi

java - Java `synchronized` 是否阻止锁定对象引用或值?

转载 作者:行者123 更新时间:2023-12-03 13:14:12 25 4
gpt4 key购买 nike

给出如下所示的输出:

    Path path1 = Paths.get("/Users/someone/foo");
Path path2 = Paths.get("/Users/someone/foo");
System.out.println(path1.toString() == path2.toString()); // outputs false
System.out.println(path1.toString().equals(path2.toString())); // outputs true

给定以下两个线程,是否有可能两个线程同时在临界区中运行?
    // Thread 1
synchronized (path1.toString()) {
// Critical section
}

// Thread 2
synchronized (path2.toString()) {
// Critical section
}

最佳答案

引用就是值(value)。这是没有区别的区别。 toString()是引用。它不会与任何其他 toString() 相同value 除非两者都被实习,或者它们都源自相同或相同的字符串文字。

关于java - Java `synchronized` 是否阻止锁定对象引用或值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42614517/

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