Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python多处理中,获得imap_当前输出的无序索引的最佳方法是什么_Python_Multiprocessing - Fatal编程技术网

在python多处理中,获得imap_当前输出的无序索引的最佳方法是什么

在python多处理中,获得imap_当前输出的无序索引的最佳方法是什么,python,multiprocessing,Python,Multiprocessing,在pythonmultiprocessing中,获取imap\u unordered当前输出的索引的最佳方法是什么?在目标函数的参数序列上使用,或者更改函数以除了返回结果之外还返回索引,或者创建一个执行此操作的包装函数 简单的例子: from multiprocessing import Pool import time import random def func(args): # real target function time.sleep(random.random()

在python
multiprocessing
中,获取
imap\u unordered
当前输出的索引的最佳方法是什么?

在目标函数的参数序列上使用,或者更改函数以除了返回结果之外还返回索引,或者创建一个执行此操作的包装函数

简单的例子:

from multiprocessing import Pool
import time
import random

def func(args):
    # real target function
    time.sleep(random.random())
    return args ** 2

def wrapper(args):
    idx, args = args
    return (idx, func(args))

if __name__ == '__main__':
    pool = Pool(4)
    args = range(10)  # sample args
    results = pool.imap_unordered(wrapper, enumerate(args))
    for idx, result in results:
        print(idx, result)