informatica:sol:laboratorio15:esercitazionia:esercitazione8
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Prossima revisione | Revisione precedente | ||
informatica:sol:laboratorio15:esercitazionia:esercitazione8 [03/05/2015 alle 00:57 (10 anni fa)] – creata Massimo Torquati | informatica:sol:laboratorio15:esercitazionia:esercitazione8 [03/05/2015 alle 06:58 (10 anni fa)] (versione attuale) – [Esercizio 1] Massimo Torquati | ||
---|---|---|---|
Linea 2: | Linea 2: | ||
Posix threads, creazione e gestione della mutua esclusione. Per gli esercizi proposti si richiede di realizzare un Makefile. | Posix threads, creazione e gestione della mutua esclusione. Per gli esercizi proposti si richiede di realizzare un Makefile. | ||
+ | |||
+ | ===== Esercizio 1 ===== | ||
+ | |||
+ | Scrivere un programma C con due threads, un produttore (P) ed un consumatore (C). Il thread P genera, uno alla volta, una sequenza di numeri inserendoli in un buffer di 1 posizione condiviso con il thread C. Il thread consumatore estrae il numeri dal buffer e lo stampa sullo standard output. Se il buffer e' pieno P attende che C consumi il dato, analogamente se il buffer e' vuoto C attende che P produca un valore da consumare. | ||
+ | |||
+ | ===== Esercizio 2 ===== | ||
+ | |||
+ | N filosofi siedono ad una tavola con un piatto di spaghetti davanti ed una forchetta alla loro destra ed una alla loro sinistra. Per mangiare gli spaghetti un filosofo ha bisogno di entrambe le forchette vicine. Ogni filosofo è impegnato ininterrottamente in una sequenza di 3 attivita': | ||
+ | Scrivere un programma C che attivi N thread filosofi che eseguono il ciclo descritto per 100 volte. La meditazione e la fase in cui il filosofo mangia deve essere implementata con un ritardo variabile (usare ad esempio la chiamata di sistema '' | ||
+ | |||
+ | ===== Esercizio 3 ===== | ||
+ | |||
+ | Scrivere un programma C in cui si attivano M thread produttori ed N thread consumatori che condividono una coda (di lunghezza " | ||
informatica/sol/laboratorio15/esercitazionia/esercitazione8.1430614636.txt.gz · Ultima modifica: 03/05/2015 alle 00:57 (10 anni fa) da Massimo Torquati