app domains and threads

P

Paul Fi

I have some confusions about the two, is it possible to create threads
inside a particular domain and have other threads created in another
domain or do we create threads that will manipulate app domains?

i have read this in the .NET framework docs about domains and threads
and i need some clarifications on this:


There is not a one-to-one correlation between application domains and
threads. Several threads can be executing in a single application domain
at any given time and a particular thread is not confined to a single
application domain. That is, threads are free to cross application
domain boundaries; a new thread is not created for each application
domain.

At any given time, every thread is executing in one application domain.
The run time keeps track of which threads are running in which
application domains. You can locate the domain in which a thread is
executing at any time by calling the Thread.GetDomain method.
 
N

Nicholas Paldino [.NET/C# MVP]

Paul,

See inline:

Paul Fi said:
I have some confusions about the two, is it possible to create threads
inside a particular domain and have other threads created in another
domain or do we create threads that will manipulate app domains?

App-domains are an abstraction that lie between threads and processes.
You can have multiple app domains in a process, and multiple threads running
in an app domain.
i have read this in the .NET framework docs about domains and threads
and i need some clarifications on this:


There is not a one-to-one correlation between application domains and
threads. Several threads can be executing in a single application domain
at any given time and a particular thread is not confined to a single
application domain. That is, threads are free to cross application
domain boundaries; a new thread is not created for each application
domain.

While a thread is not confined to a single application domain, for the
purposes of your code, you can assume that it is. While your code is
running, your thread will not be hijacked and moved to another application
domain. You can assume affinity with the current app domain from the point
that the app domain executed code on that thread.

Hope this helps.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top