Python包multiprocessing提供了进行多进程处理的API,可以进行本地和远程的并发操作。 multiprocessing模块采用了子进程的方式,能充分利用多CPU的处理能力。 multiprocessing模块通过Process类创建进程。 引入Process类from multiprocessing import Process 定义进程启动方法定义函数,在该函数内编写希望进程执行的任务。
创建进程使用Process类创建进程,target指定进程启动的入口方法,args指定方法参数 p1 = Process(target=work, args=('process 1')) 启动进程调用Process的start方法启动进程。
获取进程号在子进程中可以通过os.getppid()获取父进程ID,通过os.getpid()获取子进程ID import osimport timedef work(msg): print('parent pid:' + str(os.getppid())) print('my pid:' + str(os.getpid())) print(msg) time.sleep(10000) 阻塞主进程如果希望子进程执行完再结束主进程,可以通过join方法阻塞主进程。
完整代码 |
|