martes, 28 de abril de 2009

Hilo en Windows

Revisando antiguos documentos que guardaba en la PC me he encontrado con un sencillo programa que hice cuando andaba jugando con eso de los hilos, o threads que es lo mismo pero en inglés :P, en el Windows.

El programa es bastante sencillo, usa un contador que va incrementando e imprimiendo, después de un periodo de tiempo el hilo(Hijo del programa) imprime el valor en el que se quedo el contador y posteriormente regresa el control al padre. Simplemente se alternan tanto el hijo como el padre, con la intención de observar como se esta ejecutando el programa.

Use el Blood-Shed para compilarlo: http://www.bloodshed.net/

Os dejo el código:

#include stdio . h
#include windows . h

DWORD ProcesoHilo(LPVOID Parametros);

int main (int argc, char* argv[])
{ int valor=0;
HANDLE Hilo;
DWORD HiloID;

Hilo= CreateThread(0,
0,
(LPTHREAD_START_ROUTINE)ProcesoHilo,
(LPVOID)&valor, //0,
0,
&HiloID
);

while (1)
{printf ("Padre= %d\n",valor++);}
}
/****************************************************************************/
DWORD ProcesoHilo(LPVOID Parametros)
{
int* parametro = (int*)Parametros;

while (1)
{printf ("Hilo = %d\n",*parametro);}
}



No hay comentarios: