2010-09-07 58 views
1

我需要通過某種標識非託管代碼的,然後處理請求,一旦它已經做了一些處理回調到我的託管代碼。全局字典對的GCHandle

我在想,如果創建一個GCHandle並將其傳遞給非託管代碼,然後在非託管代碼通過GCHandle後恢復該對象,或者創建一個全局字典(比如說整數),其將該對象與該密鑰相關聯。

感謝您的幫助!

直到

回答

0

如果你沒有真正通過託管對象非託管代碼,我會投票給一個全局字典。線程同步需要使用字典的下行。問題與的GCHandle是穿GC額外的負擔,你所要做的清理等

+0

我想知道的性能問題也是如此。我可能只是運行一個小測試,並讓你知道什麼給了我更好的結果。清理不應太困難。 – 2010-09-07 11:12:21

1

我剛剛創建了一個類一點百萬的實例,並通過創建隨機整數鍵將其添加到字典中。同樣,我創建了一百萬個對象併爲它們創建了GCHandles。

使用GCHandles需要的,它需要的對象添加到字典中的時間約60%。

感謝您的幫助!