Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio12:esercitazioni:esercitazione8

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
informatica:sol:laboratorio12:esercitazioni:esercitazione8 [02/05/2012 alle 08:52 (13 anni fa)] – creata Susanna Pelagattiinformatica:sol:laboratorio12:esercitazioni:esercitazione8 [04/05/2012 alle 07:37 (13 anni fa)] (versione attuale) – [Esercizio 3: Problema dei lettori e degli scrittori] Susanna Pelagatti
Linea 1: Linea 1:
 ====== Esercitazione 8 ====== ====== Esercitazione 8 ======
-Questa esercitazione si concentra sui thread POSIX e sulle SC relative che abbiamo presentato.+Questa esercitazione si concentra sui thread POSIX.
  
 ====== Esercizio 1: Produttore e consumatore ====== ====== Esercizio 1: Produttore e consumatore ======
Linea 6: Linea 6:
 In particolare, il thread produttore deve eseguire un ciclo infinito in cui genera un numero casuale ''r'', lo inserisce nella lista e poi si metta in attesa per 2 secondi (con una ''sleep''). Il thread consumatore esegue un ciclo infinito in cui estrae gli elementi dalla coda condivisa e li stampa sullo standard output.\\ In particolare, il thread produttore deve eseguire un ciclo infinito in cui genera un numero casuale ''r'', lo inserisce nella lista e poi si metta in attesa per 2 secondi (con una ''sleep''). Il thread consumatore esegue un ciclo infinito in cui estrae gli elementi dalla coda condivisa e li stampa sullo standard output.\\
  
-**Estensione:** Fare in modo che produttore generi un numero fissato N di numeri casuali. Cancellare il consumatore quando il produttore ha terminato la generazione. Stampare l'esito di entrambi. +**Estensione:** Fare in modo che il produttore generi un numero fissato N di numeri casuali. Cancellare il consumatore quando il produttore ha terminato la generazione. Stampare l'esito di entrambi. 
  
 ====== Esercizio 2: I filosofi a cena ====== ====== Esercizio 2: I filosofi a cena ======
Linea 20: Linea 20:
  
 I thread scrittori effettuano un ciclo infinito in cui generano casualmente una posizione ''i'' fra 0 ed NMAX - 1 ed un colore ''col'' ed assegnano a ''map[i]'' il colore ''col''. I thread scrittori effettuano un ciclo infinito in cui generano casualmente una posizione ''i'' fra 0 ed NMAX - 1 ed un colore ''col'' ed assegnano a ''map[i]'' il colore ''col''.
-Ogni lettore effettuano un ciclo infinito in cui ad ogni iterazione contano il numero di occorrenze del proprio colore di riferimento nell'array e lo stampano sullo standard output.+Ogni lettore effettua un ciclo infinito in cui ad ogni iterazione conta il numero di occorrenze del proprio colore di riferimento nell'array e lo stampa sullo standard output.
  
 Si richiede che piu' lettori possano accedere contemporaneamente all'array map per leggerne i valori. L'esecuzione dei thread scrittori deve invece avvenire in mutua esclusione con tutti gli altri thread. In particolare, non puo' esserci accesso contemporaneo all'array da parte dei due scrittori e neppure da parte di uno scrittore ed i thread lettori. Si richiede che piu' lettori possano accedere contemporaneamente all'array map per leggerne i valori. L'esecuzione dei thread scrittori deve invece avvenire in mutua esclusione con tutti gli altri thread. In particolare, non puo' esserci accesso contemporaneo all'array da parte dei due scrittori e neppure da parte di uno scrittore ed i thread lettori.
  
informatica/sol/laboratorio12/esercitazioni/esercitazione8.1335948743.txt.gz · Ultima modifica: 02/05/2012 alle 08:52 (13 anni fa) da Susanna Pelagatti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki