7.11python多进程

时间:2022-09-05 11:23:00
#!/usr/bin/env python
#!--*--coding:utf-8 --*--
#!@Time :2018/7/11 19:27
#!@Author TrueNewBee import time
import os
from multiprocessing import Process def func(args):
print(args)
print(54321)
time.sleep(1)
print("子进程:",os.getpid())
print('子进程的父进程:', os.getppid())
print(12345) if __name__ =="__main__":
#如果函数需要传参,就可以如下,args=() <--这是一个元组一个参数得加,
#函数名不加括号
p = Process(target=func,args=(54321,)) #注册
#p是一个进程对象,还没有启动进程
#异步(不是同时进行的)
p.start() #开启了一个子进程
print('*'*10)
print('父进程:',os.getpid()) #查看当前进程号
print('父进程的父进程:', os.getppid()) #其实就是pycharm进程数 #进程的生命周期
#主进程 从运行到运行结束
#子进程 从start()开始,函数运行完结束
#开启了子进程的主进程:
#自己的代码如果长,等待自己的代码执行结束才结束,
#子进程的执行时间长,主进程会在主进程代码执行完毕后等待子进程执行完毕后 主进程结束