std::thread 增加 DLL 引用计数,从而防止卸载 DLL



我有一个由第三方程序加载的Windows c ++ dll。我最近添加了一个线程池(这个 https://github.com/progschj/ThreadPool/blob/master/ThreadPool.h(。

但是现在,当第三方程序不再需要它时,dll不再卸载。原因是线程池中生成的每个线程都会将 dll 引用计数增加 1。 一个问题是我不知道第三方程序什么时候不再需要dll,所以我不能手动关闭线程池之前,以减少引用计数。

所以我的问题是,有没有办法在不增加 dll 引用计数的情况下创建线程? 如果是这样,当 dll 卸载时,我需要手动关闭线程池吗?

旁注:我使用 vs 2019 和 c++17。

那它叫DLL_PROCESS_DETACH呢?如果是这样,您应该在其中加入线程。

最新更新