通过多次加载 DLL 来模拟多线程(它就是为此而设计的)。由于LoadLibrary()
实际上不允许这样做,因此 DLL 通过GetTempPath()
和将自身复制到一个临时文件中GetTempFileName()
。
这是一个小文件,在线程破坏时它会释放库并删除临时文件。现在的问题是线程数是可配置的(疯子可以选择 50、100 或更多),这基本上暴露了运行不稳定、崩溃和不通过通常的“删除临时文件”例程的风险。
如果我把那些临时文件留在那儿可以吗?操作系统通常会自行清理吗?或者我应该写一个自动清理程序?如果是,我怎样才能保存另一个临时文件来保存这些文件的列表,而不是受到 UAC 限制或其他限制?
有任何想法吗?