Multiprocessing on Python 3 Jupyter

@Konate’s answer really helped me. Here is a simplified version using multiprocessing.pool: import multiprocessing def double(a): return a * 2 def driver_func(): PROCESSES = 4 with multiprocessing.Pool(PROCESSES) as pool: params = [(1, ), (2, ), (3, ), (4, )] results = [pool.apply_async(double, p) for p in params] for r in results: print(‘\t’, r.get()) driver_func()