C# 我应该在何时将线程设置为ApartmentState.STA?
我很想知道在C#net中何时使用STA/MTAC# 我应该在何时将线程设置为ApartmentState.STA?,c#,.net,C#,.net,我很想知道在C#net中何时使用STA/MTA 在与STA/MTA COM对象进行互操作时,可以使用它们。这将为您提供大量资源。 同时阅读和阅读。 其要点是STA单元用于非线程安全的COM对象,而MTA可以多线程方式用于线程安全的COM对象。另请参见: using (ManualResetEventSlim mre = new ManualResetEventSlim(false)) { Thread _STAThread = new Thread(new ThreadS
在与STA/MTA COM对象进行互操作时,可以使用它们。这将为您提供大量资源。 同时阅读和阅读。 其要点是STA单元用于非线程安全的COM对象,而MTA可以多线程方式用于线程安全的COM对象。另请参见:
using (ManualResetEventSlim mre = new ManualResetEventSlim(false))
{
Thread _STAThread = new Thread(new ThreadStart(() =>
{
globalComObject = new ComClass();
mre.Set();
try
{
Thread.CurrentThread.Join();
}
catch (ThreadAbortException)
{ }
}));
_STAThread.SetApartmentState(ApartmentState.STA);
_STAThread.IsBackground = true;
_STAThread.Start();
mre.Wait();
}