아직 스레드 안전하지 않은 소스 코드가있는 DLL이 있습니다. dll은 매우 복잡하며 thread를 안전하게 만드는 데 꽤 오랜 시간이 걸릴 것입니다. 그래서 나는 Dll의 여러 "사본"을 독립적으로 실행하는 아이디어를 생각해 냈습니다. 가장 쉬운 방법은 아마도 N 개의 이름이 바뀐 Dll 복사본을 만들고 스레드 당 하나의 별도 Dll을로드하는 것입니다.스레드 안전하지 않은 DLL의 여러 '인스턴스'를 실행 하시겠습니까?
가능한 해결책이 있습니까? 더 나은 방법이 있습니까? 래퍼 코드가있을 수 있습니까?
나는 이것이 전혀 좋은 엔지니어링 솔루션이 아니라는 것을 알고 있습니다. 제발 나를 비난하지 마세요. 그러나 그것은 많은 문제를 해결할 수 있습니다.
EDIT 2017
나는이 일을했는데 그것은 문제없이 작동합니다. 큰! 는하지만 다음과 같은주의 사항 :
http://msdn.microsoft.com/en-us/library/2s9wt68x%28v=vs.80%29.aspx
을 DLL을 동적으로로드 된 경우, 그것은 보호 오류가 발생할 수 __declspec (스레드)로 모든 로컬이 아닌 데이터 또는 객체를 선언합니다.