Seminář 11 (Úkoly)

Úkol č.1

Napište program, který bude obsahovat dvě vlákna. Jedno vlákno bude provádět výpočet fibonacciho čísla rekurzivní metodou (zvolte vhodné číslo) a druhé bude na standardní výstup v sekundových intervalech vypisovat, jak dlouho již výpočet běží. (Použijte metodu System.currentTimeMillis().) V případě, že první vlákno skončí, skončí činnost i vlákno druhé a poté je vypsán výsledek. K synchronizaci vláken použijte sdílenou proměnnou. Zajistěte, že přístup k ní bude řádně synchronizován.

Úkol č.2

Napište metodu int parfib(int n, int k), která vypočítá n-té fibonacciho číslo, ale k výpočtu použije až k vláken. Pokud máte možnost, ověřte na víceprocesorovém počítači, že program běží rychleji. Kód okomentujte, aby bylo možné pochopit, jak probíhá paralelizace.

Vyřešené úkoly zašlete do 11.12.2014 17:00 CET na email petr.krajca (zavináč) upol.cz s předmětem ZP3JV. Zasílejte pouze zdrojové kódy. Pokud chcete zdrojové kódy poslat zkomprimované, použijte buď formát zip nebo kombinaci tar+gz.


Last update on 3. 12. 2014 18:25
Powered by Schemik.

© Petr Krajča, 2010, 2012
petr.krajca (at) upol.cz