进程池用法
#coding=utf-8 from multiprocessing import Pool import os, time, random def run_task(name): print 'Task %s (pid = %s) is running...' % (name, os.getpid()) time.sleep(random.random() * 5) print 'Task %s end.' % name if __name__ == '__main__': print 'Current process %s.' % os.getpid() p = Pool(processes = 3) for i in range(10): p.apply_async(run_task, i) print 'Waiting for all subprocesses done...' p.close() p.join() print "All subprocesses done." #join()方法会等待所有的进程执行完毕, 调用join()之前必须先调用close() #调用close()之后,进程池便无法再添加新的进程