Ключови точки:
1. Когато нишка се създаде в основната нишка, IsBackground на нишката по подразбиране се задава на FALSE.
2. Когато основната нишка излезе, нишката с IsBackground=FALSE ще продължи да се изпълнява, докато изпълнението на нишката приключи.
3. Само нишки с IsBackground=TRUE ще излязат с изхода на основната нишка.
4. При инициализация на нишка и задаване на Thread.IsBackground=true, това показва, че нишката е фонова нишка. Фоновата нишка ще излезе, когато основната нишка излезе.
5. Принцип: Докато всички предни нишки са завършени, CLR ще извика Abort() на всяка активна фонова нишка, за да прекрати приложението напълно.
Прикачено е и друго: Как да излезете от програмата: това. Close(); Ако просто затворите текущия прозорец, ако не е основната форма, не можете да излезете от програмата, а ако има управляван нишка (не основният нишка), не можете да излезете чисто; Application.Exit(); Принудете всички съобщения да прекратят и излязат от всички форми, но ако има управлявана нишка (не основната нишка), тя не може да излезе чисто; Application.ExitThread(); насилствено прекратете всички съобщения в извикващата нишка и също така се сблъсквате с проблема, че другите нишки не могат да излязат правилно; System.Environment.Exit(0); Това е най-пълният начин за излизане, независимо коя нишка е принудена да прекрати, като програмата завършва много чисто. |