我从希望应用于以下问题的 asyncio 开始:
- 数据被分割成块。
- 块是第一次压缩。
- 然后将压缩的块写入文件中。
- 所有块都使用一个文件,所以我需要一个一个地处理它们。
with open('my_file', 'w+b') as f:
for chunk in chunks:
compress_chunk(ch)
f.write(ch)
从这个上下文来看,为了更快地运行这个过程,write
当前迭代的步骤一开始,compress
下一次迭代的步骤是否也会被触发?
我可以这样做吗asyncio
,保持类似的for
循环结构?如果是的话,你能分享一些关于这个的建议吗?
我猜另一种并行运行的方法是使用相位并将相位与相位ProcessPoolExecutor
完全分开。这意味着在不同的执行程序中压缩第一个所有块。compress
write
只有当所有块都被压缩后,才开始写入步骤。asyncio
但是,如果有意义的话,我想用第一种方法来研究第一种方法。
提前感谢您的帮助。最好的