ZP3JV-11: vlákna
- blax65
- 30. 10. 2015
- Minut čtení: 1
Odkaz na cvičení: zde
Odkaz s řešenými zdrojovými kódy: zde
Ú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.
Comments