dew*_*ald 7 .net c# parallel-processing pinvoke appdomain
我有一个非托管的C++ DLL,我的.NET应用程序通过p/invoke使用它.我需要从这个DLL的方法相当耗时,我想并行化方法调用.问题是它使用了一堆静态和全局变量,因此它不是线程安全的(并且不能更改).我的计划是通过并行调用多个AppDomain中的非托管DLL来克服这个非线程安全问题.
我可以从多个AppDomain中调用非托管代码而不会出现任何问题,只要我不并行执行,但只要我并行调用,我就会得到一个AccessViolationException.我正在使用Parallel.For()来进行并行调用.
是否可以通过简单地从多个AppDomain进行调用来使非线程安全的非托管DLL"线程安全"?