多进程

多进程模块:Process
    #from multiprocessing import Process
    #os.getpid()获取的是当前进程自己的pid
    #os.getppid()获取的是当前进程的父进程的pid

实例化一个进程对象
    #p = Process(target=func,args=(1,))
           target: 是子进程要执行的任务
           args:是父进程给子进程传递的参数
    
进程的方法:
        p.start()开启子进程,底层调用的是p.run()    
        
        
#***************简单示例
from multiprocessing import Process
import time
import os
############################################开启子进程的一种方式
from multiprocessing import Process
import time
import os
def func(i):
    time.sleep(1)
    print("这是儿子进程,儿子自己的pid是%s.父进程的pid是%s"%(os.getpid(),os.getppid()))

if __name__=='__main__':
    #实例化一个进程对象
    p=Process(target=func,args=(1,))
    #进程开启:原理是调用底层的p.run()
    p.start()
    print("这是父进程,父进程的pid是%s,父亲的父亲进程的pid是%s"%(os.getpid(),os.getppid()))
    
    
    
    
################开启多个不同的子进程
def func(i):
    time.sleep(1)
    print("这是儿子进程,儿子自己的pid是%s.父进程的pid是%s"%(os.getpid(),os.getppid()))
if __name__=='__main__':
    #实例化一个进程对象
    for i in range(2):
        p=Process(target=func,args=(1,))
        #进程开启:原理是调用底层的p.run()
        p.start()
    print("这是父进程,父进程的pid是%s,父亲的父亲进程的pid是%s"%(os.getpid(),os.getppid()))

    
    
    
######################################### 开启子进程的另外一种方式,以继承的方式
class Myprocess(Process): #继承Process
    def __init__(self,name):
        super(Myprocess,self).__init__()
        self.name=name
    def run(self):
        print("这是以继承的方式开启子进程%s"%self.name)
if __name__=='__main__':
    p=Myprocess('lin')
    p.start() #实际上调用的是run方法
原文地址:https://www.cnblogs.com/god-for-speed/p/11719076.html