useclassasstaticlock.java

来自「介绍线程的使用方法」· Java 代码 · 共 43 行

JAVA
43
字号
package thread.lock;

/**
 * <p>Title: </p>
 *
 * <p>Description:使用类的类对象作为类锁 </p>
 *
 * <p>Copyright: Copyright (c) 2004</p>
 *
 * <p>Company: netsky</p>
 *
 * @author wdz123@hotmail.com
 * @version 1.0
 */
public class UseClassAsStaticLock {
  public UseClassAsStaticLock() {
  }


  /**
    *类方法作为同步(synchronized)方法,那担任锁的对象就是该类对象的Class object .
    * 请看doIt2()方法就明白了。
    * for a class (static) method, the lock associated with the Class object
    *  for the method's class is used.
    *
    * **/
   public synchronized static void doIt(){
     //处理一堆事情
   }

   /**
    * 使用类的类对像作为类锁
    * **/
  public static void doIt2(){
    synchronized(UseClassAsStaticLock.class){
        //处理一堆事情
    }
  }
  public static void main(String[] args) {
    UseClassAsStaticLock.doIt2();
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?