miércoles, 7 de marzo de 2012

Reporte de distribuidos(por el momento)

Thread en c (POSIX)

Los hilos son diferentes tipos de programas o ejecuciones de maneras continuas dentro de  un mismo programa , ya sea en lenguaje java, python o en este caso "c".
Existen hoy en día diferentes tipos de implementación de los thread en concurrencia o programas en paralelismo.


Se puede utilizar una librería llamada   <pthread.h> para utilizar estos importantes recursos llamados thread. En el caso de se se puede utilizar    los hilos para que en un solo programa, correr múltiples métodos al mismo tiempo y controlar mas eficientemente los recursos.

Para declarar los thread en c se pone de la siguiente manera:

phtread_t thread1

Para poder correr los thread es parecido en java solo ponemos lo siguiente:
                     
  pthread_create(&thread,NULL,hilo,NULL);


Posteriormente se declaran los métodos en donde irán los procesos que realizaran los hilos:


void * hilo()
{
     while(1)
{
}
}


Es aquí dentro del loop infinito lo que hará el hilo


 pthread_join(thread,NULL)

Funciona para lo mismo en java, ayuda agregar el hilo en caso de espera

Libreras útiles en "c" para uso de thread


 <semaphore.h> //librería estilo semáforo                             


Esta librería ayuda para hacer esperar un thread a otro que termine de ejecutarse o detenerlos simultáneamente. Se puede iniciar el semáforo  con lo siguiente:

sem_post(variable)

E indicar al otro thread que inicie si ejecución o hacer esperar el thread:

sem_wait(variable)

A continuacion un ejemplo de un programa en c con hilos:

2 comentarios: