????3??Synchronized????????????? ????static????(????????????????????)(?????????)

????Java????

  • public class Demo3 {     
  •     static Object o = new Object();     
  •     
  •     public static synchronized void m1() {     
  •         //....   
  •     }     
  •     
  •     public static void m2() {     
  •         //...   
  •         synchronized (Demo3.class) {     
  •             //.....   
  •         }     
  •         //.....   
  •     }     
  •     
  •     public static void m3() {     
  •         //..........   
  •         try {     
  •             synchronized (Class.forName("Demo3")) {     
  •               //............   
  •             }     
  •         } catch (ClassNotFoundException ex) {     
  •         }     
  •         //.............   
  •     }     
  •     
  •     public static void m4() {     
  •         //............   
  •        synchronized(o){     
  •          //........   
  •        }     
  •         //..........   
  •     }     
  • }

????????4????????????Ч???????????????????????????Demo3????????????????? ???????????У??乲???????????????????????????????????????????£????thread1 ????????4???????е??κ??????????????????????????????????4????????

????4?????????з??????????????????????????????????????????????????????

????Java????

  • public class Demo4 {     
  •     static String path = "file path";     
  •     
  •     public void readConfiFile() {     
  •         synchronized (path) {     
  •            // ?????path??????????   
  •         }     
  •     
  •     }     
  •     
  •     public void writeConfiFile() {     
  •         synchronized (path) {     
  •             //д???????path??????????   
  •         }     
  •     }     
  • }

????????????£?????????? ????????????????????????????????????????????????????????????????????????????

???????????????????ú????????????????ò??????????????

????PS??????????????????????????? ??????????????????????????????????????????