【发布时间】:2020-03-20 16:23:07
【问题描述】:
建议仅在 IO-bound 任务中使用 Python 多线程,因为 Python 有一个全局解释器锁 (GIL),它只允许一个线程持有 Python 解释器的控制权。然而,Does multithreading make sense for IO-bound operations? 表示,一般来说,磁盘 IO 密集型任务中的多线程只有在访问多个磁盘时才有意义,因为瓶颈是磁盘。
鉴于此,如果我有多个任务同时运行单个本地磁盘中访问数据库,那么使用多线程是否有任何优势,因为瓶颈将是磁盘?
如果数据库存储在一个单个远程磁盘,答案会改变吗?我想可能是的,因为还有另一个变量可能是瓶颈:我和服务器之间的往返时间。
【问题讨论】:
标签: python multithreading