在从STAThread实例调用的类上创建Thread时,公寓状态是什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在从STAThread实例调用的类上创建Thread时,公寓状态是什么?相关的知识,希望对你有一定的参考价值。

我有项目A和项目B.项目B有一个与Microsoft Outlook Interop一起工作的线程。项目A是GUI,在主入口点标记为STAThread。

如果我从A中调用项目b,项目B中创建的线程是STA还是MTA?

我有一个错误“检索具有CLSID的组件的COM类工厂...由于应用程序正在调度输入同步调用,因此无法进行传出呼叫。”

答案

除非在线程启动之前调用SetApartmentState,否则所有线程都默认为MTA。

如果您考虑一下,线程就无法共享现有线程的单线程单元。

以上是关于在从STAThread实例调用的类上创建Thread时,公寓状态是什么?的主要内容,如果未能解决你的问题,请参考以下文章

在Typescript中,如何在工厂(ish)函数中实例化的类上获取方法的通用返回类型

课堂作业06——设计模式综述

NAudio:“无法实例化 ASIO。检查是不是设置了 STAThread”

如何在变量类上调用静态方法?

创建调用方法的类的2个不同实例?

休眠映射,在未映射的类上