首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨线程传递XPCOM接口指针

跨线程传递XPCOM接口指针
EN

Stack Overflow用户
提问于 2011-12-10 11:02:27
回答 1查看 111关注 0票数 1

我是用XPCOM开发Firefox扩展的新手。目前我正在使用一个后台线程来做一些XPCOM中的工作,需要从主线程传递一个XPCOM接口的指针(例如nsIDomwindow)到那个线程。但是如果在windows API fundtion Createthread中使用指针作为参数,然后使用它,就会导致Firefox崩溃。

如何解决这个问题?在MS com中有没有类似的使用CoMarshalInterThreadInterfaceInStream/CoGetInterfaceAndReleaseStream的方法?XPCOM是否只支持单线程?

期待您的所有建议和示例代码!提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2011-12-10 22:51:37

许多XPCOM对象都不是线程安全的,特别是任何DOM对象都只能从主线程访问。要检查对象是否是线程安全的,您必须将其QueryInterfacensIClassInfo,并检查nsIClassInfo.flags是否包含nsIClassInfo.THREADSAFE标志。如果是,那么您可以简单地在线程之间传递接口指针。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8454058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档