小编ale*_*ksv的帖子

线程对象的WaitForSingleObject在DLL卸载时不起作用

卸载DLL时,我偶然发现了Windows线程机制的意外行为.有一个工作线程对象的包,我试图在卸载DLL时(通过DllMain DLL_PROCESS_DETACH)优雅地完成它们.代码非常简单(我发送一个事件来完成线程的等待循环):

WaitForSingleObject( ThrHandle, INFINITE );
CloseHandle( ThrHandle );
Run Code Online (Sandbox Code Playgroud)

然而WaitForSingleObject挂起了整个事情.如果我在卸载DLL之前执行它,它工作正常.如何解决这种行为?

c++ dll winapi multithreading

0
推荐指数
1
解决办法
2138
查看次数

标签 统计

c++ ×1

dll ×1

multithreading ×1

winapi ×1