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)
    
  • 相关阅读:
    Python使用selenium(二)
    自动化测试
    测试要求
    测试用例编写
    求职杂谈
    不会交谈的测试员,果然不是一个好的测试员
    浅谈微信小程序测试
    python 匿名函数lambda的用法
    python __xx__的定义和用处
    看django的感受
  • 原文地址:https://www.cnblogs.com/aden668/p/11506611.html
Copyright © 2011-2022 走看看