Od docs: http://docs.python.org/2/library/threadCo dzieje się z innymi wątkami, gdy główny wątek wywołuje sys.exit()?
Kiedy główne wyjścia gwintu, to układ zdefiniowany czy inne wątki przetrwać. W SGI IRIX przy użyciu natywnej implementacji wątku, one przetrwają. W większości innych systemów, są one zabijane bez wykonywania spróbuj ... wreszcie klauzule lub wykonywanie destruktorów obiektów.
I tu, w docs (http://docs.python.org/2/library/threading) mówi:
Wątek może być oznaczona jako „demon wątku”. Znaczenie tej flagi polega na tym, że cały program Python kończy działanie, gdy pozostaną tylko wątki demona . Wartość początkowa jest dziedziczona po utworzeniu wątku.
Porozmawiajmy tylko o wątkach nie będących demonami tutaj. Ponieważ pierwszy cytat nie zawiera żadnych specjalnych odniesień do wątków nie będących demonami, zakładam, że nawet wątki nie będące demonami powinny zostać zabite, jeśli główny wątek jest wychodzący. Drugi cytat sugeruje jednak, że jest inaczej. W rzeczywistości wątki nie będące demonami rzeczywiście nie są zabijane, gdy główny wątek się kończy. Jaki jest sens pierwszego cytatu tutaj?
Napisz kod i wypróbuj go –
Wygląda na to, że moduł "thread" obsługuje wszystko jako wątki demona, podczas gdy 'threading' dodaje pojęcie wątków" non daemon ". –
@ user2799617: Napisałem kod i doszedłem do wniosku, że "wątki nie będące demonami rzeczywiście nie są zabijane, gdy główny wątek wychodzi".Dlatego zastanawiam się, kiedy pierwszy cytat ma zastosowanie, ponieważ mój system jest prawdopodobnie jednym z tych "większości innych systemów": Ubuntu 12.10 z pytonem 2.7 – gjain