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('主进程/父进程')
    

    方式一多个子进程

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

    方式二

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

    验证进程的内存空间隔离

    from multiprocessing import Process
    import time
    
    x=0
    def aaa():
        global x
        x=100
        print(f'子进程的x修改为了{x}')
    
    if __name__ == '__main__':
        p=Process(target=aaa)
        p.start()
        time.sleep(5)
        print(x)
    
  • 相关阅读:
    Oracle问题之ORA-12560TNS:协议适配器错误
    调用脚本的方式自动的创建或者是更新oracle数据库自带的Seq序列号的值
    linux在telnet情况下root登录提示login incorrect
    CentOS 7 中 Systemd详解
    CentOS7 下安装telnet服务
    linux 安装telnet命令及使用
    Linux安装telnet
    Linux系统xinetd服务启动不了
    linux服务安装与配置(二):安装xinetd服务
    Linux超级守护进程——xinetd
  • 原文地址:https://www.cnblogs.com/aden668/p/11506611.html
Copyright © 2011-2022 走看看