Как JVM завершает потоки демона? или Как писать потоки демонов, которые завершаются изящно
Гипотетический сценарий:
У меня есть поток демона, отвечающий за некоторые операции ввода-вывода, основной поток завершает и возвращает, а JVM решает прекратить работу моего потока демона.
Как это так? Прерывание? Доработка? Как я могу закодировать мой поток демона, чтобы он корректно реагировал на завершение работы?