Multithreaded procedure to compute Fibonacci number

Procedure

P-FIB(n)
    if n <= 1
        return n
    else 
        x = spawn P-FIB(n - 1)
        y = P-FIB(n - 2)
        sync
        return x + y

The serial version

FIB(n)
    if n <= 1
        return n
    else
        x = FIB(n - 1)
        y = FIB(n - 2)
        return x + y

Reference(s)

  • T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, Introduction to Algorithms, 3rd ed. Cambridge, MA: The MIT Press, 2009.