Python使用Process创建多进程Demo
1、启动Ubuntu虚拟机,在桌面空白处右键 -- 打开终端
2、在终端输入gedit proc.py,使用gedit创建proc.py文件,并打开
3、在proc.py文件写代码如下:from multiprocessing import Processimport osimport timedef dosomething(): for i in range(10): print ('运行中的进程') time.sleep(1)if __name__ == '__main__': print ('主进程:%d' %os.getpid()) p = Process(target=dosomething) p.start() print ('主进程')子进程每隔1秒打印一行内容, p = Process(target=dosomething)这是创建一个进程对象,需要一个函数最为target参数,p.start()启动进程,启动进程后运行的就是创建进程对象时的target参数
4、保存代码,在终端运行代码,命令如下:python3 proc.py主进程和子进程同时进行,主进程打印出内容。但是主进程等待了子进程结束才终止。
5、修改代码如下,增加p.join脑栲葱蛸函数from multiprocessing import Processimport osi罪焐芡拂mport timedef dosomething(): for i in range(10): print ('运行中的进程') time.sleep(1)if __name__ == '__main__': print ('主进程:%d' %os.getpid()) p = Process(target=dosomething) p.start() p.join() print ('主进程')
6、保存代码后,在终端运行代码,命令如下:python3 proc.py
7、代码运行结果如下图所示,p.join()这句代码的用途是阻塞主进程的继续执行。主进程打印内容在子进程结束之后。