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

    进程的内存空间间隔

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

  • 相关阅读:
    UVa532 Dungeon Master 三维迷宫
    6.4.2 走迷宫
    UVA 439 Knight Moves
    UVa784 Maze Exploration
    UVa657 The die is cast
    UVa572 Oil Deposits DFS求连通块
    UVa10562 Undraw the Trees
    UVa839 Not so Mobile
    327
    UVa699 The Falling Leaves
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11515452.html
Copyright © 2011-2022 走看看