标签: c# c++-cli
我有一个使用线程本地存储的C ++ / CLI dll。它有一个DllMain()所以我可以在线程退出时释放TLS。
DllMain()
我在使用System.Threading.Thread创建线程的C#程序中使用此dll。 DllMain()获得DLL_THREAD_ATTACH次来电,但绝不会DLL_THREAD_DETACH。如果我使用std::thread在dll中创建线程,那么我会按预期获得分离调用。
System.Threading.Thread
DLL_THREAD_ATTACH
DLL_THREAD_DETACH
std::thread
为什么会出现这种情况的任何想法,和/或对TLS清理方法的任何建议?