如何在Python中并行处理列表?[重复]


问题内容

这个问题已经在这里有了答案

是否有一个简单的基于进程的python并行映射? (4个答案)

2年前关闭。

我写了这样的代码:

def process(data):
   #create file using data

all = ["data1", "data2", "data3"]

我想在所有列表上并行执行处理功能,因为它们正在创建较小的文件,因此我不必担心磁盘写入,但是处理需要很长时间,因此我想使用所有内核。

如何使用python 2.7中的默认模块执行此操作?


问题答案:

您可以尝试以下基本示例:

from threading import Thread

def process(data):
    print "processing %s" % data

all = ["data1", "data2", "data3"]

for task in all:
    t = Thread(target=process, args=(task,))
    t.start()

这是一个repl和一个简短的教程,其中显示了如何根据需要让调用者暂停线程的加入。

关于使用所有内核,我没有任何信息,但是这里有一些资源可能会有所帮助:[
1 ],[ 2 ],[
3 ]