Programacion

Páginas: 5 (1105 palabras) Publicado: 6 de junio de 2012
Procesamiento múltiple
Programación Visual II

Luis Ernesto Diaz Beteta

Introducción
La mayoria de los sistemas operativos actuales son multitarea, y windows
no se queda atrás.
Las aplicaciones que constan de un único hilo de ejecución resultan más
faciles de implementar y depurar. No pasa lo mismo con las aplicaciones
que tiene muchos hilos de ejecución las que comparten entre otrosrecursos la misma zona de memoria.
El diseño correcto de una aplicación concurrente permite completar una
mayor cantidad de trabajo en el mismo periodo de tiempo.
El objetivo principal de las aplicaciones que implementan hilos, es
aumentar el rendimiento del sistema.

Método Run

En Windows, cada ventana y cada control pueden responder a un conjunto de eventos
predefinidos. Cuandoocurre uno de estos eventos, Windows lo transforma en un mensaje
que coloca en la cola de mensajes de la aplicación implicada.
El método Run, denominado bucle de mensajes, es el encargado de extraer los mensajes
de la cola y despacharlos para que sean procesados. Cada mensaje almacenará la
información suficiente para identificar al objeto y ejecutar el método que tiene para
responder a ese evento. Ejecución del hilo principal
Podemos
observar
de
forma gráfica como actúa
el bucle de mensajes
mientras la aplicación está
en ejecución.
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace AplicacionWindows {
    static class Program {
        [STAThread]
        static void Main() {
            Application.EnableVisualStyles();            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

System.Threading
Un hilo se representa mediante la clase thread, que se encuentra en el
espacio de nombres System.Threading.
En este espacio de nombres además de almacenar las clases y
delegados que permite la programación de multiprocesos. También
proporciona las clases desincronización y acceso a datos:







Mutex
Monitor
Interlocked
AutoResetEvent
Pool (Permite usar un grupo de hilos)
Timer (Clase que ejecuta métodos de devolución de llamadas en hilos
del grupo de hilos)

Clase Thread
Un proceso es un programa en ejecución, al crear un procesp. El sistema
operativo introduce un hilo (hilo principal) para ejecutar el código.
Un hilo es un objeto dela clase Thread, cuyo constructor acepta un único
parámetro (Un delegado del tipo ThreadStart). Este delegado contiene
una referencia al método que se invocara mediante el método Start del
objeto Thread.

private thread HiloSecundario;
//...
//...
ThreadStart Delegado = new ThreadStart( TareaSecundaria );
//...
//...
HiloSecundario = new Thread( Delegado );
HiloSecundario.Start(); Método Start
El método Start de la clase Thread, envia una solicitud asincrona al
sistema.

Podemos utilizar el método ThreadState e IsAlive de la clase Thread para
determinar el estado del hilo.

Métodos de la clase Thread
Método

Descripción

Start

Inicia la ejecución del hilo

Sleep

Detiene un hilo durante un tiempo determinado

Suspend

Interrumpe un hilo cuandoalcanza un punto seguro

Abort

Detiene un hilo cuando alcanza un punto seguro

Resume

Reinicia el hilo suspendido

Join

Deja en espera un hilo hasta que finalice un hilo difente.
Si se utiliza con un valor de tiempo de espera, devuelve
true si el hilo finaliza en el tiempo asignado

Propiedades de Thread
Propiedad
IsAlive
IsBackGround

Name
Priority
ThreadState

DescripciónVale true cuando el hilo esta activo
Permite obtener o establecer un bool (por defecto vale
false), que indica si el hilo es o debería de ser un hilo en
segundo plano. Un hilo en segundo plano funciona casi
igual que un hilo en primer plano, exepto que no permite
que finalice un proceso. SI un proceso en primer plano
finaliza, este llama al método Abort de los hilos en...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación
  • Programacion
  • Programacion
  • Programación
  • Programacion
  • Programacion
  • Programacion
  • Programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS