在我的 c++ 程序中,我使用了一个非线程安全的专有库 (.dll)。:-(
在这个库中有一个特定的科学计算。
有没有办法安全地启动这个库的多个计算与线程并行?(1个进程,多线程)
我的程序“就像”一个“for”循环,每次计算我的非线程安全库时都会调用它
在我的 c++ 程序中,我使用了一个非线程安全的专有库 (.dll)。:-(
在这个库中有一个特定的科学计算。
有没有办法安全地启动这个库的多个计算与线程并行?(1个进程,多线程)
我的程序“就像”一个“for”循环,每次计算我的非线程安全库时都会调用它
听起来您想多次加载 DLL。看看多次加载相同的 dll。
一个非常简单的方法是在for
循环中分叉多个从属进程。从进程加载非线程安全模块并进行计算,最后通过简单的返回码(如果结果适合 4 个字节)、IPC 或文件将结果返回给父进程。
当然,这种方法假定并行计算不需要与其他计算进行任何交互。