fork(3) download
  1. from contextlib import closing
  2. from multiprocessing.dummy import Pool # use threads
  3.  
  4. def fibonacci(n):
  5. if n < 2:
  6. return n
  7. return (pool.apply(fibonacci, [n - 1]) +
  8. pool.apply(fibonacci, [n - 2]))
  9.  
  10. def main():
  11. global pool
  12.  
  13. N = int(raw_input())
  14. with closing(Pool(processes=2**N)) as pool:
  15. print fibonacci(N)
  16.  
  17. main()
  18.  
Runtime error #stdin #stdout #stderr 0.12s 140032KB
stdin
10
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "prog.py", line 16, in <module>
    main()
  File "prog.py", line 13, in main
    with closing(Pool(processes=2**N)) as pool:
  File "/usr/lib/python2.7/multiprocessing/dummy/__init__.py", line 151, in Pool
    return ThreadPool(processes, initializer, initargs)
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 712, in __init__
    Pool.__init__(self, processes, initializer, initargs)
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 159, in __init__
    self._repopulate_pool()
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 222, in _repopulate_pool
    w.start()
  File "/usr/lib/python2.7/multiprocessing/dummy/__init__.py", line 75, in start
    threading.Thread.start(self)
  File "/usr/lib/python2.7/threading.py", line 495, in start
    _start_new_thread(self.__bootstrap, ())
thread.error: can't start new thread