# zkouška  2008-01-08

<{ForumPost(poster="GreedyX", timestamp=2008-02-08 18:29:30)}>
zhruba takhle jsem si poznamenal zadání  
  
program 2 parametry  
cislo, filename  
cislo je rozmer pole  
soubor - matice cisel  
121  
  
345  
  
138  
  
  
nemusi se kontrolovat, jak to vypada  
-> do dvojrozmerneho pole  
  
1) spustit n vlaken, kazde vlanko zpracuje jeden radek  
        -spocist celociselny prumer na radku a nahradit cisla prumerem  
        -upspat se na bariere  
        -posledni vlakno probude vsechny ostatni  
  
2) kazde vlakno dostane sloupec, secte cisla, cislo na pozici sveho indexu pricte dvakrat  
        -uspat se na bariere  
        -to same co u jedniciky  
        -vypsat ten soucet  
  
vypisovat :   
vytvoreni vlakna  
kazde vlakno ma id(ID)  
prichod na barieru  
probouzeni z bariery  
specialni hlaska pro posledni vlakno na bariere (co probouzi ostatni)  
  
  
  
A jak se to udela?   
viz. [http://wiki.matfyz.cz/wiki/SWI015_P%C5%99%C3%ADklady](http://wiki.matfyz.cz/wiki/SWI015_P%C5%99%C3%ADklady) úplně dole + trocha triviálního kódění  
  
pozn. místo   
for (i = 1; i < NTHREADS; i++) pthread_cond_signal(ts->cv);  
je lepší použít  
pthread_cond_broadcast(ts->cv);  
  
Hodně štěstí na dalších termínech.  
  
:wq
<{/ForumPost}>

