What is the difference between STA and MTA?

Answer Posted / prabhu

In single threaded apartment (STA) each thread is isolated
in a separate apartment underneath the process. The process
can have any number of apartments that share data through a
proxy. The application defines when and for how long the
thread in each apartment should execute. All requests are
serialized through the Windows message queue such that only
a single apartment is accessed at a time and thus only a
single thread will be executing at any one time. STA is the
threading model that most Visual Basic developers are
familiar with because this is the threading model available
to VB applications prior to VB.NET. You can think of it
like an apartment building full of a row of one room
apartments that are accessible one at a time through a
single hallway. The advantage this provides over single
threaded is that multiple commands can be issued at one
time instead of just a single command, but the commands are
still sequentially executed.


The free threaded/Multi Threaded Apartment (MTA) model has
a single apartment created underneath the process rather
than multiple apartments. This single apartment holds
multiple threads rather than just a single thread. No
message queue is required because all of the threads are a
part of the same apartment and can share data without a
proxy. You can think of it like a building with multiple
rooms that are all accessible once you are inside the
building. These applications typically execute faster than
single threaded and STA because there is less system
overhead and can be optimized to eliminate system idle
time.

Is This Answer Correct ?    32 Yes 1 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is NonActionAttribute ?

588


What is ado.net data provider? : Entity framework

562


What is the use of the default route?

599


Difference between ASP.NET MVC and ASP.NET WebForms?

562


How do I use partial view?

529






What is the use of action filters in an mvc application?

605


Explain two instances where routing is not implemented or required?

588


Explain JSON Binding?

616


What are the new enhancements done in default project template of asp.net mvc 4?

578


Explain something about model, view and controllers in asp.net mvc?

555


What is the use of web api ? Why web api needed, if you have already restful services using wcf ?

546


In Server how to check whether model has error or not in ASP.Net MVC

619


Does razor engine supports for tdd?

732


Give an example for authorization filters in an asp.net mvc application?

530


Can I use razor code in javascript in asp.net mvc?

535