クラスX
には と の 2 つのメソッドがtest
ありtest1
ます。
t1
との 2 つのスレッドを作成しましたt2
。スレッドt1
はtest
メソッドにアクセスしており、同じオブジェクトのメソッドにt2
アクセスしています。同期したメソッドにアクセスしているtest1
場合は、オブジェクトのロックを取得します。t1
test
同じオブジェクトのメソッドにt2
アクセスできますか? ロックされているtest1
場合、このメソッドにアクセスできるのはなぜですか?t1
次のコードを実行している場合
X x = new X();
new MyThread(x).start(); // It execute test() method
new MyThread1(x).start();// It execute test1() method
class X
{
String a = "varsha";
public synchronized void test ()
{
try
{
Thread.sleep (6000);
}
catch (InterruptedException e)
{
e.printStackTrace ();
}
}
public void test1 ()
{
synchronized (a)
{
}
}
}