グローバルリストを定義し、このリストをそれぞれ2つの子プロセスに渡します。子プロセスの1つは変更されてから印刷され、もう1つのプロセスは変更されずに印刷されるだけです。

コード

# 编程实现:定义一个全局的列表,把这个列表,
# 分别传到两个子进程中,其中一个子进程修改,
# 之后打印,另外一个进程,不修改,仅仅打印

import multiprocessing


global_list = [100]


def modify_list(g_list):
    g_list.append(200)
    print("in modify_list function, global_list is {}".format(g_list))


def show_list(g_list):
    print("in show_list function, global_list is {}".format(g_list))


if __name__ == '__main__':
    # 定义进程对象
    process1 = multiprocessing.Process(target=modify_list, args=(global_list,))
    process2 = multiprocessing.Process(target=show_list, args=(global_list,))
    for process in [process1, process2]:
        # 启动子进程
        process.start()
        # 等待子进程运行结束, 按列表中进程对象的顺序进行等待
        process.join()


結論として

グローバル変数はプロセス間で共有されません

おすすめ

転載: blog.csdn.net/u010684603/article/details/108313316
おすすめ