【发布时间】:2010-01-20 19:21:39
【问题描述】:
客户上传图像后,我想将图像重新调整为 8 种不同的尺寸,然后将它们发送到 S3 并将它们保存到文件系统中。显然这可能需要很长时间(几秒钟),我想以“多线程”的方式来做(我引用它是因为我不在乎它实际上是多线程的还是其他一些功能)。我的理解是,由于 Python 中的 GIL,您无法成功地将多线程用于此类事情,因为它使用相同的进程,因此与您在代码的正常流程(与多线程)中执行此操作完全相同。是否有其他更好的方法可以在 Python 中为此类任务打开一个新进程?
【问题讨论】:
-
这些帖子没有帮助。大多数答案都提到使用子进程,除了使您的代码复杂化之外,它对任何人都没有任何用处(除非您有可以通过子进程解决的大型 IO 问题)。谷歌“Python GIL 的问题”。
-
“对任何人都没有任何用处的子进程”。然而,您接受了“子流程”的答案。我没有得到与接受的答案混合的评论。
标签: python django multithreading