hilos

Páginas: 8 (1786 palabras) Publicado: 4 de agosto de 2013
Hilos

El proximo tema a trabajar en este informe es acerca de los hilos en c# lo tratare ya que su implementación en nuestras aplicaciones, mejorarán el rendimiento y la organización a bajo nivel de las mismas.
Un Hilo, no es mas que un Sub Proceso, Por tanto, delegar un procedimiento o una función a un hilo, no es más que hacerla correr como un Sub Proceso del Proceso principal, quegeneralmente es el main de la aplicación.
La ventaja principal de trabajar de esta manera es tener por ejemplo un procedimiento corriendo, y poder seguir usando el programa principal de forma normal.
C# soporta la ejecución paralela de código a través de múltiples hilos.
Un hilo es una ruta independiente de ejecución, capaz de ejecutarse simultáneamente con otros hilos.
Un programa C#arranca en un hilo principal creado automáticamente por el CLR y el sistema operativo y puede estar compuesto de múltiples subprocesos mediante la creación de hilos adicionales.


Funcionamiento
Los hilos son manejados internamente por un programador o “gestor” de hilos, una función que el CLR típicamente delega en el sistema operativo.
Un programador de hilos asegura que a todos los hilos seles asigna un tiempo de ejecución apropiado y que todos aquellos hilos que estén bloqueados o pausados no consuman tiempo de CPU.
En un ordenador con un solo procesador, un programador de hilos gestiona una alternancia rápida entre los hilos activos, derivando en un comportamiento entrecortado (como se puede ver en la 1ª pantalla de consola de este artículo), dónde cada bloque de ‘x’ o de ‘y’consecutivas se corresponde con una asignación de tiempo concreta para un hilo u otro.
En Windows XP, la asignación de tiempo para cada hilo está en el orden de las decenas de milisegundos.

Hilos y procesos
Todos los hilos dentro de una aplicación están dentro de un proceso.
Hilos y procesos tienen similitudes, por ejemplo, la ejecución de procesos también es alternada con otros procesos dela misma manera que sucede con los hilos dentro de una aplicación C#.
La diferencia principal es que los procesos están completamente aislados unos de otros, sin embargo, los hilos comparten memoria con otros hilos que pertenecen al mismo proceso.
Eso es lo que hace que los hilos sean útiles. Un hilo puede estar generando datos en un segundo plano mientras que otro hilo muestra los datos quevan llegando.

¿Cuándo usar hilos?
Normalmente se utilizan para realizar trabajos en un segundo plano que típicamente vayan a consumir mucho tiempo hasta que se completen, por ejemplo, operaciones masivas con bases de datos, operaciones de cálculo, mientras que la interfaz de usuario queda libre para poder trabajar en otra cosa.
De otra manera, ésta no respondería, se vería bloqueada,aumentando la insatisfacción del usuario.
También es posible que desde dicha interfaz pueda ofrecerse al usuario la posibilidad de cancelar este tipo de operaciones u ofrecer incluso información acerca del estado o porcentaje de operación completado.
Una clase que puede resultar muy útil para este tipo de situaciones es la claseBackGroundWorker.
No todo son ventajas manejando hilos.
La interacciónentre hilos puede ser compleja y sin son usados en exceso o inadecuadamente, conllevan una penalización en el rendimiento de la CPU.

Administración de Hilos
El ámbito System.Threading proporciona en la plataforma .NET las clases e interfaces para escribir código multihilo.
Cada hilo con un proceso tiene datos asociados con él que incluyen su propia pila del programa y el conjunto decontenidos del registro, conocido como contexto del hilo.

La clase Thread
La clase System.Threading.Thread representa una hilo del sistema operativo.
Algunas de las propiedades y métodos más utilizados de esta clase son:
CurrentPrincipal: Obtiene o pone la seguridad principal actual del hilo.
CurrentThread: Obtiene una referencia si el hilo que se esta ejecutando.
IsAlive: Devuelve...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Hilos
  • hila
  • hilos
  • Hila
  • Hilos
  • HILO
  • hila
  • Hilos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS