Почему JVM не ожидает потоков демона, порожденных пользовательским приложением? - PullRequest
0 голосов
/ 10 октября 2011

" Виртуальная машина завершает работу, если последний поток, не являющийся демоном, завершил ."У меня вопрос: что происходит с потоками демонов, порождаемыми приложением?Почему JVM не ждет их окончания?

Ответы [ 2 ]

8 голосов
/ 10 октября 2011

Вся цель потока демона состоит в том, чтобы он не поддерживал работу JVM, если он является единственным запущенным потоком; это по замыслу . Есть много причин, по которым вы можете сделать это.

Например, в приложении Swing пользователь мог вызвать долгосрочную задачу в фоновом потоке демона (в отличие от потока диспетчера событий). До завершения задачи пользователь пытается выйти из приложения. На этом этапе разработчик приложения, возможно, решил, что лучше немедленно закрыть приложение, чем откладывать попытку завершения до завершения длительных вычислений, поэтому они решили присвоить статус демона потока вычислений.

1 голос
/ 10 октября 2011

Потому что это потоки демонов.Вот что это значит.Это ничего не значит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...