fork download
  1. # your code goes here
  2. from multiprocessing import Pool
  3. import os, time, random
  4.  
  5. def long_time_task(name):
  6. print('run task %s (%s)..' % (name, os.getpid()))
  7. start=time.time()
  8. time.sleep(random.random()*3)
  9. end=time.time()
  10. print('task %s runs %0.2f seconds.' % (name, (end-start)))
  11.  
  12. if __name__=='__main__':
  13. print('parent process %s' % os.getpid())
  14. p=Pool(4)
  15. for i in range(5):
  16. p.apply_async(long_time_task, args=(i,))
  17. print('waiting for all subprocesses done..')
  18. p.close()
  19. p.join()
  20. print('all subprocesses done')
Success #stdin #stdout 0.08s 12864KB
stdin
Standard input is empty
stdout
parent process 3882389
run task 1 (3882394)..
task 1 runs 0.94 seconds.
run task 3 (3882392)..
task 3 runs 2.09 seconds.
run task 0 (3882395)..
task 0 runs 2.14 seconds.
run task 2 (3882393)..
task 2 runs 0.71 seconds.
run task 4 (3882393)..
task 4 runs 1.86 seconds.
waiting for all subprocesses done..
all subprocesses done