Python包multiprocessing提供了进行多进程处理的API,可以进行本地和远程的并发操作。
multiprocessing模块采用了子进程的方式,能充分利用多CPU的处理能力。
multiprocessing模块通过Process类创建进程。
from multiprocessing import Process
定义函数,在该函数内编写希望进程执行的任务。
def work(msg): print(msg)
使用Process类创建进程,target指定进程启动的入口方法,args指定方法参数
p1 = Process(target=work, args=('process 1'))
调用Process的start方法启动进程。
p1.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方法阻塞主进程。
p1.join()
联系客服