잠 금 메커니즘 의 복습

1.왜 자 물 쇠 를 사용 하 는가:
동시 다발 조작 데이터 가 더러 운 독 서 를 일 으 키 고 데이터 가 일치 하지 않 는 상황 을 해결 합 니 다.
잠 금 대상:자바 의 모든 비 null 대상;
2.실현 방법:
synchronized 키워드 와 패키지 의 잠 금 류
// (1):       ,          
public static synchronized void staticFunc() {
    //dosomething
}

//(2):       ,            ,     this
public synchronized void virtualFunc() {
    //dosomething
}

public void monitorThis() {
    //(3):      ,               ,   this
    synchronized (this){
    }
}

private Object lock = new Object();
public void monitorObject() {
    //(4):  new   lock  ,    lock  
    synchronized (lock) {
    }
}
private ReentrantLock lock = new ReentrantLock();
 public void testLock() {
        //    
        lock.lock();
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("test ReentrantLock ");
        //    
        lock.unlock();
  }

좋은 웹페이지 즐겨찾기