Pergunta

Em um método de desligamento gancho, eu preciso dele para enviar uma mensagem para outro processo para dizer que tem desligamento. Meu código de manipulação de mensagem atual requer que a mensagem ser escrito em uma fila, esta fila é processado por outro segmento e enviado para onde ele está indo. Neste caso, a ser escrito em um arquivo de tubo por outro segmento.

Em um gancho de desligamento, posso garantir que esses segmentos ainda estará funcionando? Tenho vários ganchos de desligamento, mas estes são todos para lidar com outras coisas que não precisam de outros tópicos.

A execução é mínima. Ele irá correr cerca de 15 linhas de código + qualquer esperar necessárias para escrever para o arquivo que também deve ser mínima.

Foi útil?

Solução

A partir da descrição Javadoc de addShutdownHook :

"Note-se que threads daemon continuará a funcionar durante a sequência de encerramento, como tópicos vontade não-daemon, se o desligamento foi iniciado por invocar o método exit ."

Dada esta Eu diria que é seguro assumir que a sua discussão ainda vai estar em execução e que você é capaz de se comunicar com ele. Apenas coisa gostaria de advertir contra está confiando em seu shut-down ganchos que funcionam em uma ordem determinística.

Outras dicas

It sounds like you need a multi-step shutdown process. In a multithreaded environment, I wouldn't count on simply evaluating the lines of codes you need to execute in order to give you guidance on your shutdown procedure...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top