ReentranLock 및 사용 현황 분석

첫째, 정의

  잠금 ReentantLock 인터페이스 상속, 그는 재진입 잠금입니다 ( * 동기화뿐만 아니라 등을 제공 할 수 할 모든 일에 추가), 잠금 인터럽트 응답 , 잠금 요청 폴링 수 , 시간 잠금 다중 스레드를 방지, 방법 교착 상태.
둘째, 메인 인터페이스
  1. 보이드 로크 () : 로크가 아이들 상태에 있다면, 현재의 스레드가 로크를 획득하기 위해 상기 로크가 다른 스레드에 의해 유지되고있는 경우, 그렇지 않으면, 현재의 스레드가 로크를 획득하기 위해 현재 스레드까지 (차단 상태)가 비활성화된다
  2. 부울의 tryLock () : 잠금을 사용할 수있는 경우, 즉시 잠금을 획득하고 true를 반환하는, 그렇지 않은 경우는 false를
  3. lockInterruptibly ()이 예외 : InterruptedException를 던져 무효 : 잠금 () 메소드하지만, 스레드와 일치, 그것은 예외 예외 : InterruptedException을 중단 발생한다
  4. 보이드는 언록 (); 스레드가 로크를 보유하지 않는 경우, 그러나,이 방법의 구현은 이상 발생으로 이어질 수도 현재 스레드는 유지 잠금을 해제
  5. 부울 isLocked () : 스레드가 있습니까
  6. ReentrantLock와 () : 기본값은 불공정 잠금
  7. ReentrantLock와 (부울 공정) 공정 구성 잠금 / 비 잠금 공정 (거짓 불공정 잠금; 사실 : 페어 잠금)
  8. 조건 newCondition () : 개체 조건, 통지 구성 요소 기다리고 있습니다 (구성 요소를 현재 바인딩을 잠금)에 대한 액세스를
    • 무효 await를 () 예외 : InterruptedException를 던져 : 등가 클래스 개체를 기다립니다 () 메소드를
    • 무효 신호 () 객체 클래스 당량 알릴 () 메소드
    • 무효 signalAll () : Object 클래스 상당의 notifyAll () 메소드

 

추천

출처www.cnblogs.com/pascall/p/11121428.html