Zkouška - 17.2.2010

marxin at 2010-02-17 18:21:46

./a.out <n> <m>
Úkolem je napsat program, který vytvoří n-týmů po m vláknech. Z main vlákna je náhodně vygenerováno číslo v intervalu 1..#týmů, a je odeslán broadcast na podmínkovou proměnnou, poté se probudí jedno vlákno týmu, jehož číslo main vlákno vybralo, vypíše o tom hlášku a vygeneruje číslo týmu, který se bude budit. Opět pomocí volání pthread_cond_broadcast se vzbudí jedno vlákno vybraného teamu a atd. dokud jsou nějaká vlákna.

Podmínky: pouze 1 mutex a 1 cond. proměnná
Vytvořit čítač vláken skupin, tedy např. [1,2,3] značí, že v 1. skupině je ještě 1 vlákno, ve 2. 2, atd...

Řešení není těžké, trochu jsem se zamotal do alokace dynamického pole s informacemi pro vlákna.

Attachments: