Fgdfg

Solo disponible en BuenasTareas
  • Páginas : 33 (8232 palabras )
  • Descarga(s) : 0
  • Publicado : 29 de noviembre de 2011
Leer documento completo
Vista previa del texto
Procesos y hebras
En este capítulo utilizaremos la infraestructura que pone a nuestra disposición un sistema operativo multitarea como Windows para dotar de paralelismo a nuestras aplicaciones, aun cuando éstas se ejecuten en un PC convencional, en el que suele haber un único microprocesador. - Comenzaremos analizando los motivos que nos impulsan a la utilización de hebras y procesos en nuestrasaplicaciones, que no son siempre los primeros en los que piensa la gente al hablar de concurrencia. - A continuación, veremos cómo podemos ejecutar y controlar la ejecución de procesos gracias a la clase System.Diagnostics.Process incluida en la biblioteca de clases de la plataforma .NET. - Acto seguido, pasaremos a estudiar el uso de múltiples hebras en el interior de un proceso. En el caso dela plataforma .NET, la clase System.Thread nos proporcionará la funcionalidad necesaria para construir aplicaciones multihebra. - Finalmente, aprenderemos a usar mecanismos de sincronización que nos permitirán coordinar el trabajo realizado en distintas hebras. En capítulos posteriores, examinaremos con mayor detenimiento algunos de los mecanismos de comunicación entre procesos más utilizados. 8

Desarrollo Profesional de Aplicaciones con C#

Procesos y hebras
¿Por qué usar hebras y procesos? .......................................9 Procesos ................................................................................15 Ejecución de procesos............................................. 15 Finalización de procesos ......................................... 19 Monitorización deprocesos ..................................... 21 Operaciones de E/S................................................. 25 Hebras ....................................................................................28 La clase Thread ....................................................... 28 Ejecución asíncrona de delegados .......................... 34 Hebras en aplicaciones Windows............................ 36 Control de la ejecución de una hebra ...................... 39 Interrupción de la ejecución de una hebra............... 42 Mecanismos de sincronización............................................44 Acceso a recursos compartidos............................... 44 Monitores ................................................................. 45 Cerrojos: La sentencialock...................................... 47 Otros mecanismos de sincronización ...................... 52 Operaciones asíncronas .......................................... 54 Referencias ............................................................................58

© Fernando Berzal, Francisco J. Cortijo & Juan Carlos Cubero

Procesos y hebras

9

¿Por qué usar hebras y procesos?
Los programas secuencialesque constan de una única hebra de control resultan más fáciles de implementar y depurar que los programas con múltiples hebras que comparten, entre otros recursos, un mismo espacio de memoria. Eso resulta evidente. En el caso de existir paralelismo, ya sea a través de procesos independientes o mediante hebras dentro de un proceso, la ejecución de un programa no es determinista porque depende deltiempo de CPU que le asigna el sistema operativo a cada hebra. Como mencionamos en la introducción de esta parte del libro, el no determinismo introducido por el entrelazado de las operaciones de las distintas hebras provoca la aparición de errores difíciles de detectar y más aún de corregir. En definitiva, que la vida del programador resultaría mucho más sencilla si no hiciese falta laconcurrencia. Cuando la concurrencia se hace necesaria... Supongamos que nuestra aplicación tiene que ocuparse de la realización de copias de seguridad de los datos con los que trabaja. Con una única hebra tendríamos que programar las copias de seguridad fuera del horario habitual de trabajo. ¿Y si el sistema tiene que funcionar las 24 horas del día? Con el uso de hebras, podemos aprovechar los períodos de...
tracking img