进程的spawn模式

2022-01-30  本文已影响0人  测试探索

一:原理

该模式下,主进程的参数要通过传参,才可把主进程的参数传入子进程中,子进程拷贝主进程的参数进行使用,不改变主进程参数

import multiprocessing

def task(name):
    print(name)

if __name__ == '__main__':
    multiprocessing.set_start_method("spawn")
    name = []
    #通过传参可以把主进程的参数,传入到子进程中
    #子进程对参数进行拷贝,使用在子进程中
    p1 = multiprocessing.Process(target=task,args = (name,))
    p1.start()
image.png

对主线程和子线程参数的理解

import multiprocessing
import time


def task(data):
    data.append(999)
    print("子线程结果:",data)

if __name__ == '__main__':
    multiprocessing.set_start_method("spawn")
    name = []
    #通过传参可以把主进程的参数,传入到子进程中
    #子进程对参数进行拷贝,使用在子进程中
    p1 = multiprocessing.Process(target=task,args = (name,))
    p1.start()

    time.sleep(2)
    print("主线程结果:",name)
image.png
上一篇下一篇

猜你喜欢

热点阅读