我有一个包含 800 个图像文件的列表,我想并行处理这些文件。假设我将他们的名字存储在一个列表中:
lis_fnames = ['im1.jpg','im2.jpg',...']
然后我导入多处理模块并从中导入 Pool。我给每个线程一个名为“run_cli”的函数,它接受文件名。
截至目前,我运行以下代码:
def run_pool():
pool = Pool(processes=4)
pool.map(run_cli, ['im1.jpg','im2.jpg','im3.jpg','im4.jpg'])
并在迭代完成后手动更改文件名。我的问题是:
Q) 给定四个进程,如果一个进程已完成,我如何自动为其提供“run_cli”函数和另一个文件名(来自 lis_fnames 列表)供它分析,而不必等待所有四个进程都完成,然后再次手动运行?