私のプロジェクトには以下の構造があります。スレッド内のグローバル変数
file1.py
def run_tasks_threads():
task1 = threading.Thread(target=do_task_1)
task1.start()
...
from file2 import DO_OR_NOT
def do_task_1():
while True:
print DO_OR_NOT
if DO_OR_NOT:
# do something
file2.py
DO_OR_NOT = True
def function1:
global DO_OR_NOT
# modify DO_OR_NOT
run_tasks_threads
さらに別のファイルから呼び出されます。そして、このコードのように、それは始まりtask1
私の問題はfunction1
からDO_OR_NOT
の変更はtask1()
注記に反映取得されていないことをされています。これは実際に私のDjangoのサーバーの一部です。
function1
が複数回呼び出されます。
イベントを使用しましたか?彼らはこの問題に非常に適しています – Jalo
@Jalo、いいえいくつかのリンクを提供していただけますか? –
@Jalo 'signals'を使うのですか? –