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