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 disco?

515


What is difference between tostring() vs convert.tostring() vs (string) cast

542


Why are local variables stored in stack?

554


Explain acid rule of thumb for transactions in c#.

522


Explain what are the steps for creating clr trigger?

465






How many dimensions can an array have?

465


What is class method?

471


How do I stop my console from closing in c#?

458


What is a type c#?

495


What are collection classes?

476


What is hierarchical inheritance in c#?

485


In which order the constructor is called for an inherited class?

534


How to implement delegates in c#.net

545


What is use of list in c#?

453


What is the difference between properties and indexer in c#?

434