JAVAの同期書き込み

同期化されたキーワードを使用するには多くの方法があり、以下が一般的に使用されます。コードは次のとおりです。

パブリック クラス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は非同期であることを説明します。

おすすめ

転載: www.cnblogs.com/Sunshine106/p/12761528.html