DLL创建的线程在DLL卸载前就会被自行结束吗?如何避免?
我使用VS2008写了一个DLL.
在DLL_PROCESS_ATTACH中
我使用_beginthreadex新建了一个线程(thread_work),线程会检查g_twork_exit事件.
在DLL_PROCESS_DETACH中
激活g_twork_exit事件,并用WaitForSingleObject等待thread_work结束.
但是我发现,在我激活g_twork_exit事件之前,thread_work就被结束掉了.
thread_work里使用到的类的析构函数也没有被调用.
这种问题是如何发生的呢?我应该怎么避免?
phoetry
11 years, 9 months ago