gpt4 book ai didi

java - 多线程中的对象锁定

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

我有一个关于java中的对象锁定的问题。前任。代码:

public class A 
{
private static A a = null; // singleton instance

private A()
{

}

public static synchronized A getInst()
{
if (a == null)
{
a = new A();
}
return a;
}

public synchronized void method1()
{
//some action
}

public synchronized void method2()
{
//some action
}
}

当线程(例如thread-1)在内部工作时method1()然后thread-1获取单例对象的。但另一个线程(例如 thread-2)想要进入 method2()然后它会进入不等待 thread-1 释放锁。 thread-1thread-2 如何共享这个锁?

谢谢

最佳答案

But another thread (say thread-2) wants to enter in to the method2 then it will enter without waiting thread-1 to release the lock.

不会的。

同一时刻只有一个线程可以获取某个对象的锁。

因此,除非thread-1释放锁,thread-2无法执行method2

阅读this .

关于java - 多线程中的对象锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15431321/

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