Professional Documents
Culture Documents
HILOS DE EJECUCIN
Un hilo es simplemente una tarea que puede ser ejecutada al mismo tiempo con
otra tarea.
ESTADO DE UN HILO
Listo
Standby.
Ejecucin
Espera
Transicin
Terminado
CAMBIOS DE ESTADOS
Creacin
Bloqueo
Desbloqueo
terminacin
IMPLEMENTACION DE HILOS
import threading
class MiThread(threading.Thread):
threading.Thread.__init__(self)
self.num = num
def run(self):
HILOS EN .NET
Threads o Hilos
En .NET, cuando se lanza una aplicacin se crea un proceso y dentro
EJEMPLO
Un
La clase Thread
Esta clase pertenece al namespace System.Threading.
Para crear un thread slo hay que crear una instancia de esta clase.
Sus mtodos ms importantes son:
Ejecucin de un thread.
Para que el mtodo start de la clase Thread lance un thread que
Join.
Join.
miThread.Start();
miThread2.Start();
miThread.Join(100);
miThread2.Join(100);
Console.WriteLine("Han
finalizado los threads");
Prioridades.
Cuando
EJEMPLO
Un ejemplo la aplicacin en que se lanza MiFun dos veces, una
en un thread secundario y otra en el principal. A pesar de
lanzar primero el secundario y luego el principal se ejecutaba
primero el principal y despus el secundario (ya que el
principal tiene la prioridad, por defecto, ms alta que el
secundario).
miThread2.Priority = ThreadPriority.AboveNormal;
La sincronizacin de threads
Consiste en asegurar que distintos threads acceden de modo
System.Threading.Monitor
La clase Monitor implementa el concepto de monitor de sincronizacin.
La sentencia lock equivale a utilizar un Monitor llamando a sus
mtodos Enter (al comienzo del bloque) y Exit (al final del bloque).
Los mtodos ms importantes de la clase monitor son: