首先,让我先说一下,我理解从线程外部调用TerminateThread而不是发出信号让线程自己退出的所有危险&等着瞧吧
我的问题是,我可以在应用程序退出之前调用TerminateThread吗?这是一个100%的保证,应用程序将在那一刻退出。在这种情况下,我是否有引发内存泄漏的风险?或者任何阻止我在这种情况下调用API的东西?
p。我想调用它,让应用程序更快退出。这是太长时间来解释,但我需要这个应用程序尽快退出在一定条件下。(该应用程序是一个屏幕保护程序,一旦用户移动鼠标就会关闭。)
TerminateThread
可能只会让事情变得更糟,因为它将孤立临界区(如果你真的很不幸,它将是堆临界区或加载器临界区)。如果你真的想尽快摆脱闪避,那就自己做TerminateProcess
吧。请注意,这绕过了所有DLL_PROCESS_DETACH
和全局析构函数,但您确实说过要尽快退出。