Saltar al contenido

programa c para el problema de los filósofos de comedor usando semáforos ejemplo de código sem_init

No busques más por otros sitios ya que llegaste al sitio correcto, contamos con la solución que quieres encontrar y sin problemas.

Ejemplo: solución del problema de los filósofos de comedor usando semáforos en c

#include#include#include#include#includesem_t room;sem_t chopstick[5];void*philosopher(void*);voideat(int);intmain()int i,a[5];pthread_t tid[5];sem_init(&room,0,4);for(i=0;i<5;i++)sem_init(&chopstick[i],0,1);for(i=0;i<5;i++)		a[i]=i;pthread_create(&tid[i],NULL,philosopher,(void*)&a[i]);for(i=0;i<5;i++)pthread_join(tid[i],NULL);void*philosopher(void* num)int phil=*(int*)num;sem_wait(&room);printf("nPhilosopher %d has entered room",phil);sem_wait(&chopstick[phil]);sem_wait(&chopstick[(phil+1)%5]);eat(phil);sleep(2);printf("nPhilosopher %d has finished eating",phil);sem_post(&chopstick[(phil+1)%5]);sem_post(&chopstick[phil]);sem_post(&room);voideat(int phil)printf("nPhilosopher %d is eating",phil);/* BY - ANUSHKA DESHPANDE */

Recuerda que puedes optar por la opción de decir .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *