我在兩個C#應用程序中使用(和引用)兩個第三方DLL(a.dll和b.dll)。我遇到了一個可重複的問題,即在調用第三方庫中的函數時這兩個應用程序都處於掛起狀態。第三方DLL中的死鎖
我試圖製作a.dll和b.dll(a2.dll和b2.dll)的副本並在第二個應用程序中使用它,但事實證明a.dll引用了b.dll,anb b.dll引用a.dll,並且不能正確加載。
我懷疑有一個死鎖,但在第三方庫。我無法使用鎖定來防止這種情況。每個應用程序強制執行鎖定以確保該應用程序一次只有一個線程訪問該庫,但我無法鎖定這兩個程序。
所以,我的問題是我該如何解決這個問題?
我可以告訴操作系統(Windows XP)我不想讓dll共享嗎?
謝謝, 喬
這些不同的應用程序?在這種情況下,您不應該對單線程訪問有任何問題,因爲每個進程都可以正確處理。你能否澄清爲什麼你認爲存在僵局? – 2009-07-10 19:25:13