gpt4 book ai didi

Java同步轮询

转载 作者:行者123 更新时间:2023-12-01 06:34:12 26 4
gpt4 key购买 nike

这是我曾经看到过的一些代码。你能看出哪里出了问题吗?

[已更新]

public class ResourceManager1
{
private final String mutex = "";
Object resource = null;

public Object getResource()
{
synchronized (mutex)
{
if (resource == null)
{
resource = new Object();
}
}

return resource;
}
}

public class ResourceManager2
{
private final String mutex = "";
Object resource = null;

public Object getResource()
{
synchronized (mutex)
{
if (resource == null)
{
resource = new Object();
}
}

return resource;
}
}

最佳答案

永远不要在字符串上同步,特别是被保留的字符串文字。您基本上只有一把锁。

一般来说,永远不要同步任何可能在类外部可见的引用(包括“this”)除非外部可见性的目的正是为了锁定目的。我通常使用仅为锁定目的而创建的 private final 变量。

关于Java同步轮询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/343491/

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