0
그래서, 나는이 같은 서버가 제거되고 있지 않습니다 . 그럼 나는 90 초를 기다린다.스레드는
이제 이전 3 개의 스레드가 죽을 것으로 예상됩니다. 그러나 그들은 여전히 살아있다. calledWhenTriggerEventOccurs()를 다시 호출하면 네 번째 스레드가 생성됩니다.
그런데 내가 예상 한대로 왜 3 개의 스레드가 제거되지 않는거야?
그래서, 나는이 같은 서버가 제거되고 있지 않습니다 . 그럼 나는 90 초를 기다린다.스레드는
이제 이전 3 개의 스레드가 죽을 것으로 예상됩니다. 그러나 그들은 여전히 살아있다. calledWhenTriggerEventOccurs()를 다시 호출하면 네 번째 스레드가 생성됩니다.
그런데 내가 예상 한대로 왜 3 개의 스레드가 제거되지 않는거야?
당신의 임무는 영원히 기다릴 것이므로 기다릴지라도 그들이 죽기를 기대하지 않을 것입니다. notify() 할 때 대기중인 스레드가 없으면 알림을 잃게됩니다. 세 가지 작업을 시작할 기회가 생기기 전에 세 번이나 통보했을 가능성이 큽니다.
잠깐. 스레드가 대기 중이면 풀에서 절대로 제거되지 않습니다. 캐시 된 풀조차도? –
@ JosephMüller 오랜 시간이 걸리는 작업 (예 : 영원히)을 추가하면 어떻게해야할까요? –
알았어 ...! 고마워! –