同期メソッドと静的同期メソッドの主な違いを理解しようとしています。
たとえば、いくつかのインスタンスを持つクラスを考えてみEmployee
ます。e1
e2
synchronized method1() {
//--- blah blah---
}
がオブジェクトレベルのロックを取得しe1
て実行している場合、 によって hwld されたロックが解放されるのを待っています。method1()
e2
e1
e1
クラスレベルでロックを保持している場合も静的同期の場合、e2
そのブロックに入ることができません。
static synchronized method1() {
//--- blah blah---
}
これら2つのケースはどのように異なりますか?静的および非静的の同期メソッドアクセスに違いはありません。