-1

我创建了一个线程作为某个池的一部分,当应用程序(实际上是 DLL)完成时需要销毁该线程。所以我有一些“全局变量”,这意味着一个静态全局实例化的结构,在析构函数中它释放任何创建的线程并使用 WaitForSingleObject 等待它们。不幸的是,这永远冻结了,检查调试器显示线程仍然存在,只是卡在系统 DLL 的某个地方。当我在全局变量被释放之前调用它时,一切都很好。我在 Win32 文档中没有看到任何提及这一点。有任何想法吗?

4

1 回答 1

0

所以解决方案确实是避免等待,实际上在 DllMain 中释放任何东西(包括全局变量)都是不好的,所以需要先释放所有重要的东西。当涉及到 DLL 时,这有时会有点棘手,但是...

于 2020-09-21T13:31:28.600 回答