首页 > 解决方案 > 如何在主进程中设置的 Python 多进程中获取全局数据?

问题描述

主文件

import multiprocessing.pool as Pool
from test import set_data, get_multiprocessing

if __name__ == '__main__':
    data_list = ['data1', 'data2', 'data3']
    set_data(data_list)
    res = get_multiprocessing(2)
    print(res)

测试.py

import time
import multiprocessing

_t = None

def set_data(t):
    time.sleep(1)
    global _t
    _t = t

def get_data(idx):

    return _t[idx]

def get_multiprocessing(num_threads):
    pool = multiprocessing.Pool(processes=num_threads)
    res = pool.map(get_data, range(1))
    pool.close()

    return [r for r in res]

这里出现了一个错误

Traceback(最近一次调用最后一次):TypeError:'NoneType'对象不可下标

那么在我在主进程中设置全局数据后,是否有办法获取全局数据?

标签: python

解决方案


推荐阅读