CONCORRENZA FILOSOFI A CENA - mutex 3/3 funzione filosofo (numero) funzione prendi_forchette (numero) ciclo infinito down (mutex) pensa () stato[numero] = AFFAMATO prendi_forchette (numero) controlla (numero) mangia () up (mutex) posa_forchette (numero) down (m[numero]) fine fine fine funzione posa_forchette (numero) fuzione controlla (numero) down (mutex) se stato[numero] = AFFAMATO e stato[numero] = PENSANTE stato[SINISTRA] != MANGIANTE e controlla (SINISTRA) stato[DESTRA != MANGIANTE controlla (DESTRA) stato[numero]=MANGIANTE up (mutex) up (m[numero]) fine fine fine NUMERO_FILOSOFI -> 5 SINISTRA -> (numero + NUMERO_FILOSOFI -1) % NUMERO_FILOSOFI DESTRA -> (numero + 1) % NUMERO_FILOSOFI mutex -> semaforo di accesso allo spazio decisionale m[NUMERO_FILOSOFI] -> un semaforo per ognuno dei filosofi