11. cvičení - ThreadPool a Futures

Knihovna concurrent

    
    from concurrent.futures import ThreadPoolExecutor
    import threading
    from random import randint

    def task(id):
        print("Executing {} Task".format(id))
        result = pow(randint(1, 10), randint(2, 9))
        print("{} Task finished.".format(id))
        return result


    # Automaticky po dokonceni vypoctu
    with ThreadPoolExecutor(max_workers=2) as executor:
        future1 = executor.submit(task, 1)
        future2 = executor.submit(task, 2)

        print("Result 1 = {}".format(future1.result()))
        print("Result 2 = {}".format(future2.result()))
    

Úkoly

(Bodovaný) Naprogramujte paralelní výpočet n-tého fibonacciho čísla. Funkce bude brát jako argument číslo n a počet vláken použitých k výpočtu. K řešení úkolu můžete použít cokoliv co nabízí knihovny threading a concurrent.