Ejemplo Thread Pools Technology
Actualización: noviembre 2007
Este ejemplo muestra el uso de la clase ThreadPool. En el ejemplo se pone en cola una llamada de método asincrónica que es ejecutada por un subproceso desde el grupo de subprocesos administrado por Common Language Runtime.
Para obtener más información sobre el uso de los ejemplos, consulte los temas siguientes:
Para generar el ejemplo desde el símbolo del sistema
Abra una ventana del símbolo del sistema y navegue hasta el subdirectorio específico de uno de los lenguajes para tener acceso al ejemplo.
Escriba msbuild PoolsCS.sln o msbuild PoolsVB.sln en la línea de comandos, en función del lenguaje de programación elegido.
Para generar el ejemplo mediante Visual Studio
Abra el Explorador de Windows y navegue hasta el subdirectorio específico de uno de los lenguajes para tener acceso al ejemplo.
Haga doble clic en el icono de PoolsCS.sln o PoolsVB.sln, dependiendo del lenguaje de programación elegido, para abrir el archivo en Visual Studio.
En el menú Generar, haga clic en Generar solución.
Para ejecutar el ejemplo
Navegue hasta el directorio que contiene el archivo ejecutable generado, desde el símbolo del sistema.
Escriba AsyncMethod.exe en la línea de comandos.
Nota: Este ejemplo genera una aplicación de consola. Para poder ver el resultado, debe ejecutarla desde el indicativo del sistema.
Comentarios
Este ejemplo utiliza las colas de mensajes para administrar las llamadas al método asincrónico. El método llamado "hace algún trabajo" y, a continuación, establece un evento para indicar que el trabajo ha finalizado. El subproceso principal espera el evento y, a continuación, sale.
Las viñetas siguientes describen brevemente las clases y las tecnologías que se utilizan en este ejemplo.
Subprocesamiento
- ThreadPool Durante la escritura de código administrado, es aconsejable que, siempre que sea posible, los desarrolladores utilicen el método QueueUserWorkItem para implementar las llamadas al método asincrónico. Este ejemplo muestra el uso simple de este tipo para ejecutar el comportamiento asincrónico.
Sincronización de subprocesos
- AutoResetEvent El subproceso principal del ejemplo espera hasta que el método asincrónico establezca un objeto AutoResetEvent. El método asincrónico llama al método Set cuando ha terminado su trabajo.
Delegados
- WaitCallback Se emplea para crear un método de devolución de llamada con seguridad de tipos para la clase ThreadPool utilizada.
Lea los comentarios en los archivos de código fuente para obtener más información sobre la sincronización de subprocesos.
Vea también
Conceptos
Subprocesos y subprocesamiento