关于线程退出

3
我在我的win32程序中发现了一个问题。当我退出程序时,我看到了许多类似以下的日志输出:

线程“Win32 Thread”(0xbec)已退出,代码为0(0x0)。

线程“Win32 Thread”(0x4c0)已退出,代码为0(0x0)。

线程“Win32 Thread”(0x97c)已退出,代码为0(0x0)。

线程“Win32 Thread”(0xe10)已退出,代码为0(0x0)。

线程“Win32 Thread”(0x5f0)已退出,代码为0(0x0)。

线程“Win32 Thread”(0xfc0)已退出,代码为0(0x0)。

线程“Win32 Thread”(0xdc0)已退出,代码为0(0x0)。


我不知道这是否是正常行为。有人能告诉我发生了什么吗?
2个回答

3
假设您已经启动了6个线程(除了默认线程),那么这是完全正常的。如果您使用了类似线程池的东西,可能已经隐式创建了这些线程,甚至可能没有意识到。
总之:除非您非常确定自己的代码是单线程的,否则这很可能是完全正常的。

2
当您退出程序时,所有线程都应该被停止。您认为这是一个问题的原因是什么?

我的程序运行并且没有任何问题。我只是对输出日志感兴趣。所以我知道它们是正常的行为,对吗?谢谢你的回答! - snail
没错。无论您的程序是否正常退出,所有线程都会被终止:即使您通过任务管理器杀死它,您仍应该看到类似的输出(尽管任务管理器可能使用不同的退出代码)。 - telewin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接