我正在使用谷歌翻译器,因为我的英语很糟糕。 我想知道我是否可以在一个 for 循环中拥有多个重复多次的线程。 我有一个包含多个图像的文件夹,程序需要很长时间才能将它们一个一个地处理,所以我想对每个单独的图像进行并行图像处理。
代码示例:
for element in listSample:
thread = threading.Thread(target=function, arg=element)
thread.start()
我希望每个线程独立处理一个线程。
答案 0 :(得分:0)
如果您在这里有 IO-bound 项任务,例如访问存储和检索图像,您可以从合并 asyncio 功能中受益,尤其是 aiofiles 模块。
同时,如前所述,实际处理(程序的 CPU-bound 部分)可能受益于使用 multiprocessing 模块,它克服了 GIL 的限制。
multiprocessing
和asycnio
如何合作,请查看great talk的John Reese!
祝你好运!