gpt4 book ai didi

multithreading - ActiveX 控件是否需要线程同步?

转载 作者:行者123 更新时间:2023-12-02 04:11:47 30 4
gpt4 key购买 nike

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

最佳答案

它的工作原理取决于您的控件使用的线程模型,但假设您的 ActiveX 控件使用“APARTMENT”线程模型(它几乎总是应该),您可以假设 ActiveX 控件上的所有方法都将在同一个线程上调用。如果其他线程访问它们,ActiveX 将自动将调用编码到正确的线程,以便您在该线程上接收它。

出于同样的原因,您绝不能在您从线程之外的线程中使用的 ActiveX 对象或 COM 接口(interface)上进行调用。如果您需要从多个线程进行调用,有办法做到这一点,但这超出了这个问题的范围。

简介:您不必担心从不同线程调用您的方法,因此您不必担心同步问题。

关于multithreading - ActiveX 控件是否需要线程同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4733197/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com