Я уверен, что этот вопрос уже задавался здесь, но после поиска в Google и здесь я ничего не нашел.
Вот моя ситуация: у меня есть несколько потоков, записывающих в файл, и основной поток, который создает средство записи на печать и обрабатывает создание файла и закрытие средства записи на печать внутри блока finally в цикле try/catch. Когда я запускаю приложение внутри eclipse, я нажимаю кнопку остановки/завершения, и в файл ничего не записывается. Я хочу убедиться, что я все делаю правильно, или есть ли лучший способ справиться с закрытием модуля записи при завершении выполнения. Черт возьми, если есть лучший способ обработки нескольких потоков, записывающих в файл, я приветствую этот совет (сейчас я ужасно плохо разбираюсь в многопоточном программировании).
finally
всегда будут выполняться. Насколько вам известно, ОС может завершить работу вашей JVM в любой момент, и среда выполнения Java ничего не может с этим поделать. Вы можете стараться изо всех сил (сбросить и закрыть как можно скорее, что может быть медленным), но вы никогда не можете быть уверены. - person GPI   schedule 16.12.2014Process.destroy()
при нажатии кнопки «Завершить». - person RealSkeptic   schedule 16.12.2014