zoukankan      html  css  js  c++  java
  • 多进程

    多进程模块: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方法
  • 相关阅读:
    PCLVisualizer::addSphere 运行报错解决方案
    八叉树 (转载)
    Django 迁移错误 Cannot add foreign key constraint,字段类型自动变成Bigint(20)
    Django之Model字段详解
    FineReport如何连接hadoop,hive,Impala数据库,Kerberos认证
    图片自适应容器的几种方法
    【windows】查看电池使用情况
    【C++】C++复合变量的定义及易错点
    【c++】C++自定义类注意事项
    金字塔池化Spatial Pyramid Pooling
  • 原文地址:https://www.cnblogs.com/god-for-speed/p/11719076.html
Copyright © 2011-2022 走看看