What are STA And MTA in threading?
Answers were Sorted based on User's Feedback
Answer / 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 |
Answer / guest
Mahesh, An Advice for you
LEAVE SOFTWARE DEVELOPMENT LINE
Is This Answer Correct ? | 7 Yes | 2 No |
Answer / mahesh chandra
Single Threaded Apartment and Multy Threaded Apartment
Is This Answer Correct ? | 1 Yes | 18 No |
Can a struct be null?
What is an actual parameter?
Explain the difference between a sub and a function?
Hello.. This is kali prasad. i wish to learn C#. kindly guide me in making me expert in c#.
List the two important objects of ado.net and also list the namespaces that are commonly used in ado.net to aid in connection to a database.
What is difference between il and dll ?
What .exe means?
what is full assembly reference
Can you have an array of arrays?
What does assert() do?
How can you access a private method of a class?
Why do we use abstract class in c#?