擅长:python、mysql、java
<p>如果我正确理解你在做什么,我可能会建议一个稍微不同的方法。尝试建立一个单一的工作单元作为一个函数,然后在并行处理上分层。例如:</p>
<ol>
<li>将当前功能(调用子进程和捕获输出)包装到单个函数中。让函数创建一个可以返回的结果对象;或者,该函数可以根据需要写入文件。在</li>
<li>创建一个iterable(list等),它包含步骤1中每个数据块的输入。在</li>
<li>创建一个多处理池,然后利用它的map()功能为步骤2中的每个项目执行步骤1中的函数。有关详细信息,请参阅python多处理文档。在</li>
</ol>
<p>您还可以使用工作线程/队列模型。我认为,关键是将当前的子进程/输出捕获内容封装到一个函数中,该函数为单个数据块(无论是什么)执行工作。然后,使用几种技术中的任何一种,在并行处理块上分层是非常简单的,这里只描述了其中的两种。在</p>