EN JP CN

SYNCH.NESTEDS

SYNCH.NESTEDS

同期化されたメソッドが同一のオブジェクトに対して別の同期化されたメソッドを呼び出す場合、同期の問題は発生しませんが、パフォーマンスに悪影響があります。このエラーは、static メソッド呼び出しに対して報告されます。

例 1

12     public static class MyClass {
13         static public synchronized List getElements() {
14             return internalGetElements();
15         }
16         static synchronized List internalGetElements() {
17             List list = new ArrayList();
18             // calculate and return list of elements
19             return list;
20         }
21         // ...
22     }

SYNCH.NESTEDS が 14 行目に対して報告されています。同期化された static メソッドが、同じロックを保持する別の同期化された static メソッド 'internalGetElements' を呼び出しています。