문제

셧다운 후크 메소드에서는 다른 프로세스로 메시지를 보내서 종료되었다고한다는 메시지를 보내야합니다. 내 현재 메시지 처리 코드는 메시지를 대기열에 작성해야 하며이 대기열은 다른 스레드에 의해 처리되어 어디로 가든지 전송됩니다. 이 경우 다른 스레드에 의해 파이프 파일에 기록됩니다.

셧다운 후크 에서이 스레드가 여전히 실행될 것이라고 보장 할 수 있습니까? 몇 가지 셧다운 후크가 있지만 다른 스레드가 필요하지 않은 다른 것들을 처리하기위한 것입니다.

실행은 최소화됩니다. 약 15 줄의 코드 + 파일에 쓰기 위해 필요한 대기가 최소화되어야합니다.

도움이 되었습니까?

해결책

Javadoc 설명에서 AddShutdownhook:

"셧다운 시퀀스에서 데몬 스레드가 계속 실행됩니다. 종료 방법을 호출하여 종료가 시작된 경우 비 데몬 스레드와 마찬가지로."

이것을 감안할 때 나는 당신의 스레드가 여전히 실행 중이며 당신이 그것과 의사 소통 할 수 있다고 가정하는 것이 안전하다고 말할 것입니다. 내가 경고 할 유일한 것은 결정 론적 순서로 실행되는 셧다운 후크에 의존하는 것입니다.

다른 팁

다단계 종료 프로세스가 필요한 것 같습니다. 멀티 스레드 환경에서는 셧다운 절차에 대한 지침을 제공하기 위해 실행 해야하는 코드 줄을 단순히 평가하는 데 의존하지 않습니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top