同期化されたキーワードを使用するには多くの方法があり、以下が一般的に使用されます。コードは次のとおりです。
パブリック クラスMyService { 同期された public static void testMethod1() { } public void testMethod2() { 同期(MyService。クラス) { } } 同期された public void testMethod3() { } public void testMethod4() { 同期(これ) { } } public void testMethod5() { 同期( "abc" ){} } }
上記のコードには、3種類のロックオブジェクトが表示されます。
(A)testMethod1()とtestMethod2()が保持するロックは同じです。つまり、MyService.javaに対応するクラスオブジェクトです。
(B)testMethod3()とtestMethod4()が保持するロックは同じです。つまり、MyService.javaクラスのオブジェクトです。
(C)testMethod5()が保持するロックは文字列abcです。
testMethod1()とtestMethod2()は同期、testMethod3()とtestMethod4()は同期、AとCは非同期、BとCは非同期、AとBは非同期であることを説明します。