您能用自己的话解释一下STA和MTA吗?
另外,什么是公寓线程?它们仅与 COM 相关吗?如果是这样,为什么?
COM 线程模型称为“单元”模型,其中初始化的 COM 对象的执行上下文与单个线程(单线程单元)或多个线程(多线程单元)相关联。在此模型中,COM 对象一旦在单元中初始化,就在其运行时期间成为该单元的一部分。
STA 模型用于非线程安全的 COM 对象。这意味着它们不处理自己的同步。其常见用途是 UI 组件。因此,如果另一个线程需要与该对象交互(例如按下表单中的按钮),则该消息将被编组到 STA 线程上。 Windows 窗体消息泵系统就是一个例子。
如果 COM 对象可以处理自己的同步,则可以使用 MTA 模型,其中允许多个线程与对象交互,而无需编组调用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)