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

    开启子进程的方式

    方式一、

    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里面的方法。

    进程的内存空间间隔

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

  • 相关阅读:
    在LinuxMint 17 MATE中安装NVIDIA显卡驱动
    如何在VeryCD中下载资源
    创建多个Dialog时,namespace冲突问题的解决 -- 基于QT 5.2
    Qt 5.2中编译加载MySQL数据库驱动问题的总结
    Python入门 -- 001
    Qt 入门 ---- 布局管理
    Qt 入门 ---- 如何在程序窗口显示图片?
    Redis 教程笔记
    Python pip 报错
    Python手动安装 package
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11515452.html
Copyright © 2011-2022 走看看