我有一個不是線程安全的源代碼的dll。該DLL相當複雜,需要相當長的時間才能使線程安全。所以我想到了獨立運行Dll的幾個「副本」的想法。最簡單的事情可能是創建N個重命名的Dll副本,併爲每個線程加載一個單獨的Dll。運行一個非線程安全的Dll的多個'實例'?
這是一個可能的解決方案嗎? 有沒有更好的類似方法? 是否有可能存在一些包裝代碼?
我知道這根本不是一個好的工程解決方案。請不要責怪我。但它可能會解決一些問題。
EDIT 2017年
我做這個和它的作品沒有任何問題。大! 請注意,雖然以下幾點:
http://msdn.microsoft.com/en-us/library/2s9wt68x%28v=vs.80%29.aspx
如果DLL聲明任何非本地的數據或對象爲__declspec(線程),它可以引起一個保護錯誤,如果動態加載。