Esercizio 1 - Irish pub

In un irish pub i clienti che portano uno strumento musicale e suonano ricevono delle birre in omaggio dal proprietario ogni volta che fanno una pausa (smettendo di suonare).

Il proprietario offre M birre e non di più.

Ad ogni pausa, il cliente musicista aspetta di vedere se il proprietario gli porta la birra

Il cliente musicista suona un certo numero di volte (diverso per ogni musicista) e poi va a casa

Il proprietario è sempre in attesa di vedere se qualche musicista ha sete (finchè non finisce le birre gratis).

Il problema consiste nel sincronizzare il thread Holder e i thread Musician in base all’evento consistente nel fatto che un cliente musicista ha smesso di suonare e ha voglia di birra.

Esercizio 2 - Ristorante

In un ristorante entrano diversi clienti.