描述:
If the call to CoInitializeEx() used COINIT_MULTITHREADED instead, CLSID_ExeObj02 COM objects will live in an MTA. This means that CLSID_ExeObj02 COM objects and its class factory object can be accessed from any thread. Such threads can be those which are implemented internally in the EXE Server (as part of the logic of the implementation) or those from the RPC thread pool the purpose of which is to serve external clients' method calls. The implementation of the CLSID_ExeObj02 COM object must therefore ensure internal serialization to whatever extent required. In many ways, this is much more efficient as compared with STAs.
我的是这样的:
如果是用COINT_MULTITHERADED来初始化线程,CLSID_ExeObj2 COM 对象将会驻留在MTA中,意味着CLSID_ExeObj2 COM 对象和他的厂类对象可以被任何线程访问。这些线程可以是用EXE COM实现的或来自RPC线程池,他们的目的是为外部的客户端的调用COM方法而服务的,因此CLSID_ExeObjo2 COM 对象的实现必须确保为无论何种程度的请求的外部的序列化(按次序,不需要同步)。多数情况下,MTA与STA比较起来效率更高些。