Zkouška - 17.2.2010

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Zkouška - 17.2.2010

Zkouška - 17.2.2010

od marxin » 17. 2. 2010 18:21

./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.
Přílohy
team.c
Zdrojový kód
(4.25 KiB) Staženo 300 x

Nahoru