我的 .Net 程序使用 fortran Dll 来执行数学函数(Arpack,解决特征模式)。我相信 fortran 包含静态变量,通常不是线程安全的。而且它非常复杂,可能需要大量的努力才能使其线程安全。Dll 不是很大(700K),所以我只想加载它很多次(比如 4 次,或者可能 8 次)以允许线程同时工作。有人知道我该怎么做吗?我听说 LoadLibrary 在多次调用时总是返回相同的句柄。因此,就目前而言,我唯一的解决方案是在磁盘上保存我的 Dll 的多个副本(Arpack1.dll、Arpack2.dll 等)并根据需要加载它们。相当可怕。
有任何想法吗?
尤安