informatica:sol:laboratorio11:esercitazioni:esercitazione8
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedente | |||
informatica:sol:laboratorio11:esercitazioni:esercitazione8 [01/03/2011 alle 17:25 (14 anni fa)] – Susanna Pelagatti | informatica:sol:laboratorio11:esercitazioni:esercitazione8 [03/05/2011 alle 15:17 (14 anni fa)] (versione attuale) – [Esercizio 3: Il barbiere sonnolento] Susanna Pelagatti | ||
---|---|---|---|
Linea 15: | Linea 15: | ||
- | ====== Esercizio 3: Il barbiere sonnolento | + | ====== Esercizio 3: Problema dei lettori e degli scrittori |
- | Si consideri | + | Si consideri |
- | * Un certo numero (NSEDIE) | + | Ogni thread lettore ha un colore |
- | | + | |
+ | I thread scrittori effettuano un ciclo infinito in cui generano casualmente | ||
+ | Ogni lettore effettuano un ciclo infinito in cui ad ogni iterazione contano il numero di occorrenze del proprio colore di riferimento nell' | ||
+ | |||
+ | Si richiede | ||
- | Quando entra un cliente, si danno le seguenti possibilità: | ||
- | * se tutte le sedie sono occupate, il cliente se ne va rinunciando al taglio dei capelli; | ||
- | * se ci sono sedie disponibili e il barbiere è sveglio (cioè intento a servire un cliente), il cliente occupa una delle sedie libere e attende. I clienti in attesa vengono serviti con politica ARBITRARIA; | ||
- | * se il barbiere sta dormendo, il primo cliente che entra lo sveglia e viene immediatamente servito. | ||
- | Il barbiere e i clienti sono thread, le sedie e la poltrona sono | ||
- | risorse. Programmare barbiere e clienti usando i thread POSIX. |
informatica/sol/laboratorio11/esercitazioni/esercitazione8.1299000338.txt.gz · Ultima modifica: 01/03/2011 alle 17:25 (14 anni fa) da Susanna Pelagatti