我在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-1和thread-2如何共享此锁?
谢谢