tag:blogger.com,1999:blog-9029566282497559059.post3447139531675426581..comments2024-03-27T12:02:28.208-07:00Comments on Ask for Program: Dining Philosophers Problem C ProgramSamir Savsanihttp://www.blogger.com/profile/06726883671396225605noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-9029566282497559059.post-43787846367184363982015-04-24T08:28:39.468-07:002015-04-24T08:28:39.468-07:00#include
#include
pthread_mutex_t mut[5];
void ...#include<br /><br />#include<br /><br />pthread_mutex_t mut[5];<br /><br />void *fun(void *k)<br /><br />{ <br /><br />long j=(long)k; <br /><br />pthread_mutex_lock(&mut[j]); <br /><br />pthread_mutex_lock(&mut[(j+1)%5]);<br /><br />printf("\nPhilosopher %ld eating using forks %ld and %ld",j,j,(j+1)%5); <br /><br />sleep(2); <br /><br />printf("\nPhilosopher %ld thinking releasing forks %ld and %ld",j,j,(j+1)%5); <br /><br />pthread_mutex_unlock(&mut[j]); <br /><br />pthread_mutex_unlock(&mut[(j+1)%5]); <br /><br />pthread_exit(NULL);<br /><br />}<br /><br />void main()<br /><br />{ <br /><br />long i; <br /><br />pthread_t th[5]; <br /><br />for(i=0;i<5;i++)<br /><br />pthread_mutex_init(&mut[i],0);<br /><br /> <br /><br /> <br /><br />for(i=0;i<5;i++) <br /><br />pthread_create(&th[i],NULL,fun,(void*)i); <br /><br />pthread_exit(NULL);<br /><br />}<br /><br />OUTPUT<br />Produce : 1 <br /><br />Produce : 2 <br /><br />Produce : 3 <br /><br />Produce : 4 <br /><br />Produce : 5 <br /><br />Consume : 5 <br /><br />Consume : 4 <br /><br />Consume : 3 <br /><br />Consume : 2 <br /><br />Consume : 1MERIN ROSE SANJEEVhttps://www.blogger.com/profile/12775200727673415949noreply@blogger.com