我有一个windows c++ dll,它被一个第三方程序加载。我最近添加了一个线程池(这个 https:/github.comprogschjThreadPoolblobmasterThreadPool.h)。).
但是现在当第三方程序不再需要这个dll时,这个dll不再被卸载。原因是线程池中每产生一个线程就会增加一个dll的引用数,有一个问题是我不知道第三方程序什么时候不再需要这个dll,所以我不能在之前手动关闭线程池,以减少引用数。
所以我的问题是,有没有办法在不增加dll引用数的情况下创建一个线程?如果有,当dll被卸载时,我是否需要手动关闭线程池?
附注:我用的是vs 2019和c++17。
那DLL_PROCESS_DETACH它有没有被调用呢?如果是的话,你应该加入它的线程。