Ejemplo n.º 1
0
void philosopher(void *arg) {
	int i;
	long p=(long) arg;
	while(1) {
		for (i=0;i<100000;i++);
		getForks(p);
		for (i=0;i<100000;i++);
		putForks(p);
	}
	exit();
}
Ejemplo n.º 2
0
void exist(int philo) {
    while (1) {
        // Simulate the normal activities of a philosopher at dinner.
        //Think
        printf("%s is thinking...\n", philosophers[philo]);
        randomwait(PHILOSOPHER_AMOUNT);
        
        getForks(philo);
        pthread_mutex_lock(&mutex);
        
        //Eat
        printf("%s is eating...\n", philosophers[philo]);
        randomwait(PHILOSOPHER_AMOUNT);
        pthread_mutex_unlock(&mutex);
        
        putForks(philo);
        printf("%s is done.\n", philosophers[philo]);
    }
}