from multiprocessing import Process import os from datetime import datetime def run_proc(name): print('Child process {0} is running'.format(name,os.getpid())) if __name__ == "__main__": print('parent process {} is running'.format(os.getpid())) for i in range(5): p = Process(target=run_proc,args=(str(i),)) print('process start {}'.format(datetime.now())) p.start() p.join() print('close')
from multiprocessing import Process,Pool import os from datetime import datetime import time
def run_proc(i): time.sleep(10) print('[process {}]I am child process {} and the start time is {}'.format(i,os.getpid(),datetime.now())) time.sleep(10) print('task done')
if __name__ == "__main__": p = Pool(processes=os.cpu_count()) for i in range(10): p.apply_async(run_proc,args=(str(i),)) #p.apply(run_proc,args=(str(i),)) p.close() p.join() print('all done')