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 Area in ASP.Net MVC?

614


What is entitytypes? : Entity framework

613


what is linq to entities?

631


What is edm (entity data model)? : Entity framework

548


Explain ASP.NET MVC Identity and Security?

571






What is MVVM design pattern?

603


Explain the request flow in asp.net mvc framework?

549


What is .net framework used for?

587


What is session state management?

565


What is .net architecture and framework?

577


Briefly describe the roles of clr in .net framework?

543


What is the version number for the next version of the .net framework, codenamed �orcas�?

484


How does the .net framework 3.0 relate to windows vista?

565


Explain what languages does the .net framework support?

520


What is definingquery in entity framework? : Entity framework

552