クラスXには と の 2 つのメソッドがtestありtest1ます。
t1との 2 つのスレッドを作成しましたt2。スレッドt1はtestメソッドにアクセスしており、同じオブジェクトのメソッドにt2アクセスしています。同期したメソッドにアクセスしているtest1場合は、オブジェクトのロックを取得します。t1test
同じオブジェクトのメソッドに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)
{
}
}
}