• 子进程


    开启子进程的方式

    方式一、

    from multiprocessing import Process
    import time
    
    
    
    def task():
        print('进程 start')
        time.sleep(2)
        print('进程 end')
    
    
    if __name__ == '__main__':
        p = Process(target=task)
        p.start() # 告诉操作系统我要开子进程,告诉完了这行代码就算执行完了,接着往下走,具体操作系统什么时候开子,开多长时间跟你没关系。
        time.sleep(5)
        print('主进程/父进程')
    

    首先介绍一下新模块 multiprocessing,导入这个模块里的Process类

    首先写一个方法,在这个方法里面写上你主要的逻辑业务。

    然后下面要用if __name__ == '__main__':,在这个里面开启子进程,为什么用这个,因为如果不用的话,就会无限循环开启子进程。

    在里面p = Process(target=task) 然后p.start() 就会执行方法里的代码了。

    方法二、

    from multiprocessing import Process
    import time
    
    class Test(Process):
        def __init__(self,sex):
            super().__init__()
            self.sex = sex
    
        def run(self):
            print(f'子进程的性别是{self.sex} start')
            time.sleep(2)
            print('子进程 end')
    if __name__ == '__main__':
        p = Test('女')
        p.start() # 向操作系统 发送开启子进程的请求
        print('主进程')
    

    这个就是以类的形式开启。其实是一个道理的,不过一定要在类里面重写run方法。他执行的就是run里面的方法。

    进程的内存空间间隔

    各个进程之间互不干扰,变量也不共享。

  • 相关阅读:
    使用阿里云docker加速器
    Linux之screen命令详解
    Linux下Git和GitHub使用方法总结
    CentOS 6&7安装ffmpeg
    用yum安装lamp和lnmp环境
    nginx错误日志error_log日志级别
    CentOS7 yum 安装mysql 5.6
    python实现对数据的写入和读取(excel)
    windows下配置sublime
    远程配置pycharm
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11515452.html
Copyright © 2020-2023  润新知