У меня есть неуправляемая C ++ DLL, которую мое приложение .NET использует через p / invoke.Метод, который мне нужен из этой DLL, довольно трудоемкий, и я хотел бы распараллелить вызовы метода.Проблема в том, что он использует кучу статических и глобальных переменных, поэтому не является поточно-ориентированным (и не может быть изменен).Мой план состоял в том, чтобы преодолеть эту не поточнобезопасную проблему путем параллельного вызова неуправляемой DLL из нескольких доменов приложений.
Я могу без проблем вызывать неуправляемый код из нескольких доменов приложений, если не будуэто параллельно, но как только я делаю звонки параллельно, я получаю AccessViolationException
.Я использую Parallel.For () для параллельных вызовов.
Можно ли сделать неуправляемую неуправляемую DLL «поточно-ориентированной», просто совершая вызовы из нескольких доменов приложений?