gpt4 book ai didi

java - 锁定 Java 类中静态成员的获取

转载 作者:行者123 更新时间:2023-11-30 06:37:18 24 4
gpt4 key购买 nike

我目前正在解决由于严重的锁争用而导致的性能下降问题。我正在考虑“锁 split ”来解决这个问题。

骨架使用模式是::

当前使用情况::

public class HelloWorld{

public static synchronized method1(){
//uses resource 1
}
public static synchronized method2(){
//uses resource 2
}

}

我的方法::

由于 method1()method2() 不使用相同的资源,所以我正在考虑拆分锁。截至目前,它们都在争夺 Class 锁,因为它们都是静态同步的。我正在考虑将其更改为::

public class HelloWorld{

**private static Object resr1Lock = new Object();**

public static method1(){
synchronized(resrc1Lock){
//uses resource 1
}
}

**private static Object resr2Lock = new Object();**
public static method2(){
synchronized(resrc2Lock){
//uses resource 2
}
}

}

他们现在会争夺“类锁”或 resr1Lock/resrc2Lock 吗?

最佳答案

他们现在将争夺 2 个对象“resr1Lock”/“resrc2Lock”。它将按您预期的那样工作。

关于java - 锁定 Java 类中静态成员的获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3617579/

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