What are STA And MTA in threading?

Answer Posted / kiran kumar reddy

The Thread will create and enter a multi threaded apartment.
The Thread will create and enter a Single threaded apartment.

An apartment is a logical container within a process for
objects sharing the same thread access requirements. All
objects in the same apartment can receive calls from any
thread in the apartment. The .NET Framework does not use
apartments, and managed objects are responsible for using
all shared resources in a thread-safe manner themselves.

Because COM classes use apartments, the common language
runtime needs to create and initialize an apartment when
calling a COM object in a COM interop situation. A managed
thread can create and enter a single-threaded apartment
(STA) that allows only one thread, or a multithreaded
apartment (MTA) that contains one or more threads. You can
control the type of apartment created by setting the
ApartmentState property of the thread to one of the values
of the ApartmentState enumeration. Because a given thread
can only initialize a COM apartment once, you cannot change
the apartment type after the first call to the unmanaged code.

Is This Answer Correct ?    13 Yes 8 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is dbcontext c#?

590


What are the problem with .NET generics?

638


Is c# a backend language?

658


Difference between StackPanel and RelativePanel ?

674


Is array passed by reference in c#?

593






Explain synchronous and asynchronous operations?

621


Are there functions in c#?

594


What are abstract classes in c#?

576


Why are mutable structs evil?

620


Define multicast c# delegate?

638


What is msil in c#?

644


What is default access specifier for class in c#?

563


Can we have only “try” block without “catch” block in c#?

541


What is javascriptserializer c#?

593


Is null in c#?

571