Jestem w pełni świadomy wpływu flagowania wątku jako wątku demona na wyjściu JVM (jeśli wszystkie wątki nie będące demonami zakończą się, JVM zakończy pracę).Co to znaczy być wątkiem demona?
Czy są inne efekty uboczne przy ustawianiu wątku jako demon?
(jako kompletny bok, który jest naprawdę nieistotny z wyjątkiem semantyki, jest znaczenie wątku demona nie wstecz w tym przypadku: nie powinien wątek demona utrzymywać przy życiu JVM ... na przykład, gdybym napisał mój własny demon HTTP i uruchomiłem go, czy nie chciałbym, aby JVM pozostała przy życiu tak długo, jak wątek jest żywy? Czy jest jeszcze jakiś semantyczny termin "daemon"?)
Zazwyczaj masz demona wątków i non-demona wątki uruchomione w tym samym czasie: nie-demon wątków wykonuje pożyteczną pracę, ale nici demon są tylko siedzi tam czeka na rzeczy się wydarzy. Po wykonaniu użytecznej pracy program powinien zakończyć; nie chcesz, żeby było podtrzymywane przez nici, które nic nie robią. W twoim przykładzie demon HTTP jest demonem * process *, a nie demonem. Można sobie wyobrazić komputer stacjonarny, który wyłącza się, gdy nie są uruchomione procesy inne niż demony, a użytkownik nie chce, aby serwer go utrzymywał. (A może zrobiłbyś ... cokolwiek, to nie jest najlepsze imię.) –
Tak, doskonale rozumiem to zachowanie i regularnie go wykorzystuję. Całkowicie przypadkowo byłem tylko pytaniem, czy inni zgodzili się na mylenie nazwy :) – Jared
To nie jest naprawdę mylące, demon nigdy nie powinien wyjść - zawsze działać, gdy program jest uruchomiony, ponieważ NIGDY naprawdę nie wychodź, nie powinny powstrzymywać samego programu przed wyjściem. –