-1

Java のインタビューで、スレッドに対するコンテキストで、クラス ABC は 2 つの静的同期メソッド m1()およびm2()で構成されており、2 つのスレッドがT1あるとT2尋ねられました。メソッドのロック、私は答えたので、とは静的に同期されているので、それらはクラスレベルのロックを持っているので、スレッドがメソッドのロックを取得する場合、メソッドからロックを解放するまで他のスレッドは同時にロックを取得できませんが、同時にスレッドがロックオン方法を取ることができる時間、それが正しいことをアドバイスしてください。T1m1()T2m2()m1()m2()T1m1()m1()T1m1()T2m2()

4

2 に答える 2

1

Java ではメソッドのロックを取得するのではなく、オブジェクトのロックを取得します。同期された静的メソッドは、クラス オブジェクトを暗黙的にロックとして使用します。当然のことながら、同じクラスの 2 つのメソッドは両方とも同じロックを求めて競合し、同時に実行することはできません。

于 2013-04-11T11:10:59.483 に答える