1、引入需要包方法
from concurrent.futures import ProcessPoolExecutor
from multiprocessing import Manager
2、建立全局的共享变量
def set_global(args):
global allDatas
allDatas = args
3、构建函数需要的参数
item_list = []
for taskData in task_datas:
temp = []
temp.append(taskData[0])
temp.append(taskData[1])
temp.append(taskData[2])
temp.append(num)
item_list.append(temp)
4、使用Manager管理共享变量及创建多进程
manager = Manager()
allDatas = manager.list([])# 管理一个多维list
pool = ProcessPoolExecutor(max_workers=1000,initializer=set_global,initargs=(allDatas,))
for i in range(len(item_list)):
pool.submit(main_fc, *item_list[i])
pool.shutdown()
5、实际应用
def main_fc(task_user_id,task_uer_phone,count,num):
# 实际应用的方法,及接收的参数
。。。。
。。。。
allDatas.append(temp) # 共享变量的使用
注:没有做进程安全的考虑,仅记录。也希望大佬指正!