2016-11-28 52 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