python3.5多处理池重复挂起

python3.5多处理池重复挂起,python,python-3.x,python-multiprocessing,Python,Python 3.x,Python Multiprocessing,我正在使用multiprocessing.Pool创建一个工人池,以便将文件加载到Pandas中。它一直挂着,大概75%的时间都挂着 import pandas as pd import multiprocessing as mp def load(filename): thing = pd.read_table(filename) return thing files = ['a','b','c'] # A list of a bunch of files with mp.

我正在使用multiprocessing.Pool创建一个工人池,以便将文件加载到Pandas中。它一直挂着,大概75%的时间都挂着

import pandas as pd
import multiprocessing as mp

def load(filename):
    thing = pd.read_table(filename)
    return thing

files = ['a','b','c'] # A list of a bunch of files
with mp.Pool(5) as pool:
    result = pool.map(load, files)
我说的“挂起”是指永远不会结束。我已经偏离了程序,他们正在等待未来,所以我不知道这意味着什么。我是否正确调用了池

同样,它在25%的时间里都能完美工作,所以我必须做一些正确的事情。。。谢谢


Ubuntu Xenial Python3.5.2

这似乎是一种低效的读表方式——需要重新序列化才能返回到父进程。这些文件是否足够大,足以占用可用内存?您可能会得到内存中所有这些文件大小的数倍。我尝试了线程,这是一场灾难,因为上面没有看到(在load()中调用了一些纯Python函数)。是的,跨流程酸洗似乎效率低下,但实际上根本不是瓶颈。