ActiveX控件需要线程同步吗?

3

我目前正在开发一个简单的ActiveX控件。该控件公开了一小组属性和方法。目前还不确定ActiveX方法是否会从不同的线程调用。 为了准备应对这种情况,我决定在控件公开的每个方法中实现线程同步。 我需要实现这种同步吗?或者Microsoft ActiveX框架已经实现了它? 我这样做是不是多余的?


你能相信网页开发者不使用Web Workers吗?http://www.whatwg.org/specs/web-workers/current-work/ - Sheng Jiang 蒋晟
1个回答

1

这取决于您的控件使用哪种线程模型,但假设您的ActiveX控件使用“APARTMENT”线程模型(它几乎总是应该使用),则可以假定您的ActiveX控件上的所有方法都将在同一线程上调用。如果其他线程访问它们,则ActiveX会自动将调用传递到正确的线程,以便您在该线程上接收它。

同样,您绝不能从除了获取它的线程之外的线程上调用ActiveX对象或COM接口。如果您需要从多个线程进行调用,有方法可以实现,但这超出了本问题的范围。

总结:您不必担心方法被不同的线程调用,因此您不应该担心同步。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接