建议仅在IO限制的任务中使用Python多线程,因为Python有全局解释器锁(GIL),只允许一个线程控制Python解释器。然而,多线程对于IO限制操作有意义吗?指出,一般来说,在磁盘IO限制的任务中,只有当您访问多个磁盘时,使用多线程才有意义,鉴于瓶颈是磁盘。
鉴于此,如果我有几个同时访问单个本地磁盘中数据库的任务,是否使用多线程会有任何优势,因为瓶颈将是磁盘?
如果数据库存储在单个远程磁盘中,答案是否改变?我想可能是,因为还有另一个可能成为瓶颈的变量:我和服务器之间的往返时间。
鉴于此,如果我有几个同时访问单个本地磁盘中数据库的任务,是否使用多线程会有任何优势,因为瓶颈将是磁盘?
如果数据库存储在单个远程磁盘中,答案是否改变?我想可能是,因为还有另一个可能成为瓶颈的变量:我和服务器之间的往返时间。