type
Post
status
Published
date
Sep 5, 2023
slug
c-sharp-async-thread-background
summary
C#异步编程-06 前台线程 vs 后台线程
tags
C#
CS
category
学习记录
icon
password
Property
Aug 9, 2024 11:58 AM
Foreground vs Backgrund Threads前台和后台进程
默认情况下,你手动创建的线程就是前台线程
只要有前台线程在运行,name应用就会一直出于活动状态
但是后台线程却不行
一旦所有的前台线程停止了,那么应用程序就停止了
任何的后台线程也会突然终止
注意:线程的前台、后台状态与它的优先级无关(所分配的执行时间)
可以通过IsBackground属性判断线程是否是后台线程
前台线程,不输入就不会结束;后台线程,不输入也会结束。
进程以这种形式终止的时候,后台线程执行栈中的finally块就不会被执行了
如果想让它执行,可以在退出程序时使用Join来等待后台线程(如果是你自己创建的线程),或者使用signal construct,如果是线程池。。。
应用程序无法正常退出的一个常见原因是还有活跃的前台线程
- 作者:Kitety
- 链接:https://www.kitety.com/article/c-sharp-async-thread-background
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章


.png?table=block&id=fa81f9ab-c0da-4f4e-a935-0567380c36d0&t=fa81f9ab-c0da-4f4e-a935-0567380c36d0&width=1080&cache=v2)
.png?table=block&id=55df38cd-a361-41ee-a75d-c17615e78d6b&t=55df38cd-a361-41ee-a75d-c17615e78d6b&width=1080&cache=v2)
_(1).jpg?table=block&id=a716c7ee-7105-4a3f-8133-a15129086419&t=a716c7ee-7105-4a3f-8133-a15129086419&width=1080&cache=v2)
.jpg?table=block&id=2e9784d9-1d6e-44fc-9106-f0c576ddcb8f&t=2e9784d9-1d6e-44fc-9106-f0c576ddcb8f&width=1080&cache=v2)

.png?table=block&id=c0772cdb-ee08-49f4-b2f3-c804586bb769&t=c0772cdb-ee08-49f4-b2f3-c804586bb769&width=1080&cache=v2)

.png?table=block&id=b43ea4ae-a57d-4962-80ba-12280979702b&t=b43ea4ae-a57d-4962-80ba-12280979702b&width=1080&cache=v2)
