码迷,mamicode.com
首页 > 系统相关 > 详细

多进程

时间:2019-10-22 13:01:52      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:ESS   lin   run方法   参数   RoCE   print   target   rgs   获取   

多进程模块: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方法

 

多进程

标签:ESS   lin   run方法   参数   RoCE   print   target   rgs   获取   

原文地址:https://www.cnblogs.com/god-for-speed/p/11719076.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!