Java 스레드는 여러 가지 방법으로 응답

       확실히 스레드가 스레드를 사용할 때이 자바에서 일어나는 중단 자바의 세 가지 방법으로 제공됩니다,의 notifyAll, 공원 / 언 파크를, / 이력서를 중단 대기 / 통지합니다.

1.suspend / 이력서

     이 교착 상태로 이어질 가능성이 있기 때문에 이러한 접근 방식은, 자바를 포기하고있다. 동기화와 같은 키워드를 사용하는 경우

동기 (이) { 
   는 Thread.currentThread () (일시 중지).; 
}

      이력서를 사용하여 이번에는 상황이 유일한 방법 후 이력서 방법을 중단 호출이있는 경우 이러한 일련의 이벤트가 교착 상태가 발생했습니다 때문에,이 방법은 또한,의 결과를 일시 중단 할 수 스레드를 해제하지 않는 것입니다 이 나타납니다.

2.wait / 통지의 notifyAll

       통지 또는가는 notifyAll 방법에 의한 접근 방식을 깨워 자동으로 해제 소지 스레드 자원 잠금 방법을 기다린 다음 대기 스레드를 호출, 그래서 경우는 공통점이 자바 메소드에서 일시 중단되고,이 곳에서 교착 상태가 없다 되었을 대기 동작 후 또는 통지의 notifyAll 방법 중 다음 확실히 교착 상태가 될 경우 한 / 재개를 대기.

      여기 스레드를 일시 중단하는 것도 가능하지만,이, 수면 방법을 설명해야하지만, 잠은 일정 시간 후에는 자동으로 실행됩니다 방법 예외 : InterruptedException 예외가 생성이, 중단 잠도 방법으로 방법을 방해 할 수있는 이니셔티브를 취할 수 있습니다 웨이크 스레딩.

3.park / 언 파킹

      공원은 주차장의 문자 적 ​​의미를 의미한다, 당신이 깨워 스레드를 언 파킹 사용을 중단 공원을 호출 할 필요가,이 순서 사이에 차이는 당신이 언 파킹을 진행하는 경우, 다음 공원을 만들기도 가능하지만, 사전, 없다 복수의 언 파킹 만 오버레이를 반복 할 수 없습니다하는 언 파킹으로 볼 수있는 경우 공원 다시 새로운 웨이크 업 작업, 사전에 주차 예약을 할 경우, 주차장에 있던 같은 주차 작업을 unpark를 위해 필요한 경우를 주차장에 들어가기 전에 모든 약속은 돈 (언 파크) 일단 공제 불가능 여러 약속,하지만 모든 약속 작업이 증거로 볼 수 있습니다 것을 당신이 (공원) 주차장을 입력하면, 및 토큰 지불 (언 파크)에 의해 다음에 수행 할 후에는 주차를 떠날 경우, 당신은 단지 (다시 한 번에만 비용을 지불 떠나 주차장으로 직접 약속을 다시 또는 수, 포괄적이고 균형 수없는 약속에 사용 된 언 파킹).

      LockSupport.park를 사용하여 통화 파크 / 언 파크 () / LockSupport.unpark ().

      이 스레드에 의해 점유 잠금 리소스를 해제하지 않기 때문에 시간의 사용도주의를 필요로하기 때문에 그 사용 공원 / 동기화 된 키워드가 교착 상태 상황이있을 것이다 사용 언 파킹합니다.

추천

출처www.iteye.com/blog/357029540-2443629