Kluczowe punkty:
1. Gdy wątek zostanie utworzony w głównym wątku, IsBackground wątku jest domyślnie ustawiony na FALS.
2. Gdy główny wątek zostanie zakończony, wątek z IsBackground=FALSE będzie kontynuował wykonywanie aż do zakończenia wykonywania wątku.
3. Tylko wątki z IsBackground=TRUE zakończą się wraz z wyjściem głównego wątku.
4. Podczas inicjalizacji wątku i ustawiania Thread.IsBackground=true, oznacza to, że wątek jest wątkiem tła. Wątek tła zakończy się wraz z głównym wątkiem.
5. Zasada: Dopóki wszystkie wątki pierwszego planu są zakończone, CLR wywołuje Abort() do każdego aktywnego wątku tła, aby całkowicie zakończyć aplikację.
Załączona jest jeszcze jedna inna: Jak wyjść z programu: to. Close(); Jeśli po prostu zamkniesz bieżące okno, jeśli nie jest to główny formularz, nie możesz opuścić programu, a jeśli jest zarządzany wątek (nie główny), nie możesz wyjść czysto; application.exit(); Wymusz przerwanie i wyjście wszystkich formularzy ze wszystkich komunikatów, ale jeśli istnieje zarządzany wątek (nie główny), nie może on wyjść czysto; Application.ExitThread(); przymusowo przerwać wszystkie wiadomości na wywołującym wątku, a także napotkać problem, że inne wątki nie mogą poprawnie zakończyć wyjścia; System.Environment.Exit(0); To najbardziej kompletny sposób wyjścia, niezależnie od tego, który wątek zostanie wymuszony do zakończenia, kończąc program bardzo czysto. |