| 1 | = Server Semaforo = |
| 2 | |
| 3 | * Semaforo con inizializzazione |
| 4 | |
| 5 | diff:tags/server-add-single-semaphore//tags/server-add-single-semaphore-init |
| 6 | |
| 7 | * Semafori multipli (identificati da un numero) |
| 8 | |
| 9 | diff:tags/server-add-single-semaphore-init//tags/server-add-multiple-semaphore |
| 10 | |
| 11 | |
| 12 | Ora è possibile risolvere il seguente problema |
| 13 | |
| 14 | Un processo docente risponde alle domande di alcuni |
| 15 | processi studente, con i seguenti vincoli: |
| 16 | * in ogni momento un solo processo (docente o studente) |
| 17 | emette messaggi (domande e risposte ottenute con printf sullo |
| 18 | stdout) |
| 19 | * ogni domanda degli studenti ottiene una specifica risposta |
| 20 | * l'elaborazione della risposta da parte del docente |
| 21 | richiede 2 secondi |
| 22 | * ciascuno studente si astiene dal fare una nuova domanda |
| 23 | finché il docente non ha risposta alla precedente |
| 24 | * Ogni studente fa un'unica domanda |
| 25 | |