在C++中如何做到与C#中
Thread
类的SetApartmentState
方法相同?Thread
类的SetApartmentState
方法相同?CoInitializeEx()
传递适当的参数来控制线程使用的公寓模型。Larry Osterman为这些问题写了一个很棒的小指南:CoInitializeEx
(或CoInitialize
)时,线程告诉COM它准备托管的两种公寓类型之一。要表示线程应该位于MTA中,您需要将COINIT_MULTITHREADED
标志传递给CoInitializeEx
。要表示线程应该托管STA,请调用CoInitialize
或将COINIT_APARTMENTTHREADED
标志传递给CoInitializeEx
。
...C++没有内置的线程支持。你所寻找的取决于你在应用程序中如何实现线程。Win32?pthreads?boost::threads?无论你使用哪个API都将决定你问题的答案。
编辑:看起来这里可能有一个例子适合你:http://msdn.microsoft.com/en-us/library/system.threading.apartmentstate.aspx
它似乎适用于托管C++。