2010-03-05 13 views

Respuesta

11

Los AppDomains no obtienen su propio hilo por defecto. Puede ejecutar código en otro Dominio de aplicación utilizando subprocesos existentes o llamar a un método en el Dominio de aplicación, que crea un nuevo subproceso (s). De hecho, a menos que crees específicamente hilos adicionales, el código de llamada en otro dominio se ejecutará en el hilo principal del proceso.

Desde el AppDomain documentation

dominios de aplicación múltiples se pueden ejecutar en un solo proceso; sin embargo, existe que no es una correlación uno a uno entre los dominios e hilos de la aplicación . varios hilos pueden pertenecer a un solo dominio de aplicación , y mientras que un dado hilo no se limita a un único dominio aplicación, en cualquier momento dado, un hilo ejecuta en un único dominio aplicación.

En su ejemplo, crea subprocesos (o más específicamente, el grupo de subprocesos lo hace) y, por lo tanto, el código se ejecutará en estos subprocesos. Sin embargo, no estoy seguro de que recomiende la creación de AppDomains en hilos de grupo de subprocesos como ese.

La descarga de un AppDomain abortará cualquier subproceso en el dominio de la aplicación. Honestamente, no sé cómo reaccionará el grupo de hilos a esto. Más información sobre la descarga here.

3

Un dominio de aplicación es algo más grande que un hilo, pero más pequeño que un proceso. Podría pensar en ellos como posibles colecciones de varios hilos. Si un App Domain crea otro, el nuevo App Domain, el nuevo App Domain tendrá su propio hilo. Un hilo en un dominio de aplicación nunca será parte de otro dominio de aplicación, ni se le permitirá hablar directamente con hilos de otros dominios de aplicación.

+0

¿Por qué el voto a favor? –

+3

_ "Si un dominio de aplicación crea otro, nuevo dominio de aplicación, el nuevo dominio de aplicación tendrá su propio hilo" _. Si bien no soy el que menosprecia, esa afirmación es un poco más de lo que realmente está sucediendo. Cuando creas otro AppDomain, se ejecutará en el hilo actual. Deberá crear un nuevo hilo específicamente y crear e iniciar el nuevo dominio de la aplicación en ese hilo, si desea ejecutar el dominio de la aplicación en su propio hilo. – Abel

Cuestiones relacionadas