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 are the differences between value types and reference types?

558


Describe ado.net?

584


What is difference between int and int in c#?

461


Why do we use partial class in c#?

491


What is the object class in c#?

493






Do events have return type c#?

514


What is readline c#?

494


What is verbatim string literal in c#?

478


What are generations and how are they used by the garbage collector?

526


What is the purpose of a constructor in c#?

474


what is a destructor?

608


What is strong name assembly?

465


What is icomparer in c#?

497


How many destructors can a class have?

597


What are verbatim strings in c#?

505