当我关闭表格时,申请程序仍未结束?(c#)

本文关键字:未结束 申请程序 表格 | 更新日期: 2023-09-27 18:08:59

试验TcpClient和TcpListener类,由于某种原因,当我有几个线程正在运行并且我关闭表单时,进程没有结束,但表单消失了。

我必须用VS IDE或任务管理器手动终止进程。

当我关闭程序时,表格中没有任何东西仍然在运行,但过程没有结束。我到处插入断点,甚至控制台输出都说线程已退出。

有人知道这是怎么回事吗?

当我关闭表格时,申请程序仍未结束?(c#)

应用程序的主线程正在等待生成的线程完成。您可以将线程的IsBackground属性设置为true,这样它们就不会阻止您的进程终止:

从MSDN:

线程可以是后台线程,也可以是前台线程。后台线程与前台线程是相同的,除了后台线程不能阻止进程的终止。一旦所有属于进程的前台线程已经终止,常见的语言运行库结束进程。任何剩余的后台线程已停止且未完成。