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方法
  • 相关阅读:
    fatal: unable to access ‘https://github.com/Homebrew/brew/‘: Error in the HTTP2 framing layer
    leetcode题目两数和、最大字符串长度、中位数、最长回文子串
    zabbix5.x版本添加自定义监控+263邮件报警
    php过滤特殊字符方法
    js中e相关位置
    少有人走的路-心智成熟的旅程-斯科特·派克
    ios脱壳
    docker 容器开机自启
    Java8 Stream的使用
    Entity Frameworker 的核心 EDM(Entity Data Model)模式
  • 原文地址:https://www.cnblogs.com/god-for-speed/p/11719076.html
Copyright © 2011-2022 走看看