这是我的设置:
1)c#应用程序启动并调用导出的非托管c ++ dll函数
2)dll函数通过win32 CreateThread生成一个线程
3)这个新线程在while循环中“工作”,检查退出标志
当我退出c#应用程序时,线程立即退出
问题:
1)在退出之前,我可以做些什么来让我的线程清理?
非常感谢 - 我是c#世界的新手,但对c ++有经验
答案 0 :(得分:2)
当您的C#应用退出时:
WaitForSingleObject
返回的HANDLE
上的CreateThread
。这将使它等待线程退出。CloseHandle
上调用HANDLE
以释放其资源,但如果应用即将退出则无关紧要。