多进程的语法跟多线程有些相似
# coding=utf-8 import multiprocessing import time def run(index): print u'进程{}正在运行'.format(str(index)) time.sleep(5) if __name__ == '__main__': for i in range(5): p = multiprocessing.Process(target=run, args=(i,)) p.start() # p.join()
以上程序运行结果是直接打印:
进程0正在运行
进程1正在运行
进程2正在运行
进程3正在运行
进程4正在运行
如果join的注释被去掉,类似多线程也变成了串行,每过5秒打印一次。
每个进程都由父进程启动
# coding=utf-8 from multiprocessing import Process import os def info(title): print title print 'module name:', __name__ # print 'parent process:', os.getppid() # 打印父进程id(只在Unix和Linux系统中有效) print 'process id:', os.getpid() # 打印当前进程id print ' ' def f(name): info('