首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用COM单元STA

使用COM单元STA
EN

Stack Overflow用户
提问于 2013-07-17 17:33:32
回答 1查看 95关注 0票数 1

在阅读了关于这个主题的大部分帖子后,我仍然感到困惑。

如果我在.Net中使用来自多个线程的COM STA实例,COM技术不会使用队列序列化调用吗?

代码语言:javascript
复制
var instance = new 3PartyComStaLib()

多线程执行

代码语言:javascript
复制
instance.doWork();

如果是真的,这是可以的吗,唯一的惩罚是它将是缓慢的?

EN

回答 1

Stack Overflow用户

发布于 2013-07-17 17:42:27

如果你不违反你那一端的规则,对STA对象的COM调用将被序列化。特别是,您必须确保您的代码不会跨单元边界传递原始COM指针。

当您的STA代码需要将COM指针传递到另一个线程和单元时,您需要封送该指针(例如,使用完美命名的CoMarshalInterThreadInterfaceInStream应用程序接口),然后在目标流上进行解组,以使COM有机会创建代理/存根对并设置相关的序列化。

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

https://stackoverflow.com/questions/17696172

复制
相关文章

相似问题

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