• python3 开启多进程的两种写法


    写法1

    import time
    from multiprocessing import Process
    
    
    def func(name, age):
        print(f"我是{name}")
        time.sleep(0.2)
        print(f"{name}结束 {age}")
    
    
    if __name__ == '__main__':
        # target是目标函数,args是位置参数,必须是元组类型,kwargs是关键字参数,必须是字典类型
        p1 = Process(target=func, args=("进程1",), kwargs={"age": 18})  # 创建第一个进程
        p2 = Process(target=func, args=("进程2",), kwargs={"age": 20})  # 创建第二个进程
        p1.start()  # 开启第一个进程
        p2.start()  # 开启第二个进程
        print("主进程执行结束,子进程是依附于主进程存在的,所以,子进程都结束后,主进程才真正的结束。")

    执行结果:

    主进程执行结束,子进程是依附于主进程存在的,所以,子进程都结束后,主进程才真正的结束。
    我是进程1
    我是进程2
    进程1结束 18
    进程2结束 20

    写函数,target是功能,args是位置参数,kwargs是关键字参数

    写法2

    import time
    from multiprocessing import Process
    
    
    class MyProcess(Process):
        def __init__(self, name):  # 可以通过初始化来传递参数
            super(MyProcess, self).__init__()
            self.name = name
    
        def run(self):  # 必须有的函数
            print(f"{self.name}开始")
            time.sleep(0.2)
            print(f"{self.name}结束")
    
    
    if __name__ == '__main__':
        p1 = MyProcess("进程1")  # 创建第一个进程,并传递参数
        p2 = MyProcess("进程2")  # 创建第二个进程,并传递参数
        p1.start()  # 开启第一个进程
        p2.start()  # 开启第二个进程
        print("主进程执行结束,子进程是依附于主进程存在的,所以,子进程都结束后,主进程才真正的结束。")

    执行结果:

    主进程执行结束,子进程是依附于主进程存在的,所以,子进程都结束后,主进程才真正的结束。
    MyProcess-1开始
    MyProcess-2开始
    MyProcess-1结束
    MyProcess-2结束

    写类,继承Process,必须写run方法

    进程与进程之间的关系,就相当于公司里的部门与部门之间的关系一样,数据是相互隔离的。

  • 相关阅读:
    Chrome cookies folder
    Fat URLs Client Identification
    User Login Client Identification
    Client IP Address Client Identification
    HTTP Headers Client Identification
    The Personal Touch Client Identification 个性化接触 客户识别
    购物车 cookie session
    购物车删除商品,总价变化 innerHTML = ''并没有删除节点,内容仍存在
    453
    购物车-删除单行商品-HTMLTableElement.deleteRow()
  • 原文地址:https://www.cnblogs.com/lilyxiaoyy/p/12051151.html
Copyright © 2020-2023  润新知