我的 django 应用程序将 django 模型保存到远程数据库。有时扑救是突发的。为了将应用程序的主线程 (*thread_A*) 从将多个对象保存到数据库的时间成本中解放出来,我想将模型对象转移到一个单独的线程 (*thread_B*)collections.deque
并使用 *thread_B* 保存他们依次。
但是我不确定这个计划。save()
返回新数据库条目的 id,因此它仅在数据库响应后“结束”,即事务结束。
django.db.models.Model.save()
真的会阻塞GIL并在事务期间释放其他 python 线程吗?