Join en-US

Thread (Parte 2)

published 9/3/2008 3:40:06 PM by Manuel Fernando

Cuando usamos una instancia del delegado StartThread para crear un Thread el método delegado del objeto StarThread no debe estar firmado con ningún parámetro, cuando necesites enviarle un parámetro al método delegado al subproceso debemos usar el delegado ParametrizableStartThread, este delegado es especifico para métodos firmados con un solo parámetro de tipo objeto, el parámetro es enviado por medio del método sobrecargado Start() de la clase Thread.


C#

VB.NET

Como detener un Thread:

En algunas ocasiones necesitamos detener un subproceso, el modo principal para detener un subproceso es el método Abort() de la clase Thread, cuando este método es llamado el sistema de subprocesamiento lanza una excepción de tipo ThreadAbortException en el subproceso para que este se detenga.


Uso de regiones criticas:

Una llamada del método Abort() de la clase Thread detiene el subproceso sin importar en qué momento de ejecución se encuentre, una región critica permite que un fragmento de código siempre sea ejecutado sin importar que el método Abort() sea llamado en el instante que el subproceso está ejecutando una línea de código de la región critica, el subproceso espera hasta que finalice la región critica para detenerse, para esto clase Thread proporciona los métodos estáticos BeginCriticalRegion() y EndCriticalRegion().


C#

VB.NET

Contexto de ejecución:

Cada subproceso por defecto está asociado con información de seguridad, localización y transacción para acceder al contexto de ejecución, la clase ExecutionContext proporciona métodos para el control del flujo del contexto de información, la información que contiene por defecto un subproceso consume recursos y si necesitas incrementar desempeño debes remover ese tipo de información como se muestra en siguiente fragmento de código.


C#

VB.NET

Comments

Add a comment

Title  

Comments  


Sign in for add you comments


Frameworkla.net compatible con Internet Explorer 8
History Favorites