我正在尝试执行类似于以下的代码:
from concurrent.futures import ProcessPoolExecutor, ThreadPoolExecutor
from example_module import function
argument_list = [0, 0, 0, 0]
parex = ProcessPoolExecutor(max_workers=2)
res = parex.map(function, argument_list)
print(list(res))
一般情况下效果很好。但是,当我在module_example中使用特定模块时,此代码会中断。查看这个特定模块的源代码,我意识到它使用导入了一些对象
from .lib import func
来自名为 lib.cpython-36m-x86_64-linux-gnu.so 的文件。有谁知道这是否由于某种原因与ProcessPoolExecutor不兼容?非常感谢大家!
编辑:从脚本执行时,代码运行良好。正是在 jupyter notebook 中执行它时才会失败。