我需要将某种标识符传递给非托管代码,然后处理请求并在完成某些处理后回调我的托管代码。
我想知道创建GCHandle并将其传递给非托管代码然后在非托管代码通过GCHandle后恢复对象或是否更好地创建全局字典(比如整数)更好)将对象与所述密钥相关联。
感谢您的帮助!
直到
答案 0 :(得分:1)
我刚创建了一百万个类的实例,并通过创建随机整数键将其添加到字典中。同样,我创建了一百万个对象并为它们创建了GCHandles。
使用GCHandles花费大约60%的时间将对象添加到字典中。
感谢您的帮助!
答案 1 :(得分:0)
如果您不必将托管对象实际传递给非托管代码,我会投票支持全局字典。使用字典的缺点可能需要线程同步。 GCHandle的问题是给GC增加了额外的负担,你必须进行清理等。