django如何确保一个持久连接不会发生';t同时被多线程共享? 从 ,当使用持久连接(设置CONN_MAX_AGE>0或None)时,在每个请求超过最大期限或不再可用时,它不会关闭

django如何确保一个持久连接不会发生';t同时被多线程共享? 从 ,当使用持久连接(设置CONN_MAX_AGE>0或None)时,在每个请求超过最大期限或不再可用时,它不会关闭,django,persistent-connection,Django,Persistent Connection,也就是说,下面的reuqest将使用以前创建的相同的持久连接,这可能会导致多线程同时共享一个持久连接。但这种情况不应该发生!我只是感到困惑,我相信django开发人员不会犯这样肤浅的错误。还是我错过了什么 提前谢谢 在搜索并阅读了django源代码之后,我确实错过了一些要点!django避免跨线程共享一个持久db连接的“诀窍”是在实例化ConnectionHandler(路径:django/db/utils.py)时使用threading.local() 这样,每个线程都会维护自己的持久连接。多

也就是说,下面的reuqest将使用以前创建的相同的持久连接,这可能会导致多线程同时共享一个持久连接。但这种情况不应该发生!我只是感到困惑,我相信django开发人员不会犯这样肤浅的错误。还是我错过了什么

提前谢谢


在搜索并阅读了django源代码之后,我确实错过了一些要点!django避免跨线程共享一个持久db连接的“诀窍”是在实例化ConnectionHandler(路径:django/db/utils.py)时使用threading.local()

这样,每个线程都会维护自己的持久连接。多聪明啊! 我还画了流程图:

希望能帮助别人

你看到了吗?