如何在django中创建一个线程安全的方法

时间:2016-11-28 08:16:54

标签: python django multithreading python-3.x http

我在Linux机器上使用django 1.10.2和python 3.5.2。

我有两个相关的问题:

  1. 当客户端连接到django时会产生什么?它是每个客户的新线程还是每个客户的新流程?

  2. 我需要在django中有一个方法,一次只能由客户端访问。基本上这必须是一个线程安全的方法,可能有一个锁机制。我如何在django中完成此任务。

  3. 提前致谢!

2 个答案:

答案 0 :(得分:0)

  1. 这取决于您如何部署Django应用程序。见Gunicorn或Uwsgi。通常,有一个流程池。

  2. 也许db transaction可以帮到你。

答案 1 :(得分:0)

也许你可以试试:

from threading import Lock

创建具有广泛范围的锁

lock = Lock()

然后使用:

with lock:
    //do stuff