2016-11-28 30 views
0

我在Linux机器上使用django 1.10.2和python 3.5.2。如何在django中创建线程安全的方法

我有2个被相关的问题:

  1. 是什么催生当客户端连接到Django的?它是每个客户端的新线程还是每个客户端的新进程?

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

在此先感谢!

+0

什么是你的方法做,什么你对线程安全感到担忧吗? – knbk

回答

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

  2. 也许db事务可以帮助你。

+0

好点,我用uwsgi。 Db交易对我不起作用。 任何其他的想法如何线程安全的方法? – Lukas

+0

考虑使用Redis。 https://redis.io/topics/distlock –

0

也许你可以试试:

from threading import Lock 

创建锁定了范围广泛

lock = Lock() 

然后使用方法:

with lock: 
    //do stuff