使用线程

时间:2016-11-06 23:57:49

标签: python global-variables python-multithreading

在一个项目中,我想将可视化和计算分成两个不同的模块。目标是将计算模块的变量传输到主脚本,以便使用可视化脚本将其可视化。

关注这篇文章 Using global variables between files?, 我现在可以使用config-script将变量传递给脚本。但遗憾的是,使用线程时这不起作用。 main.py的输出始终为" get:1"。

有没有人有想法?

main.py:

from threading import Thread
from time import sleep

import viz

import change
add_Thread = Thread(target=change.add)
add_Thread.start()

viz.py:

import config

from time import sleep

while True:
    config.init()
    print("get:", config.x)
    sleep(1)

config.py:

x = 1

def init():
    global x

change.py:

import config

def add():
    while True:
        config.x += 1
        config.init()

1 个答案:

答案 0 :(得分:0)

好的,自己来解答答案。问题发生在" main.py"。一个人必须把'#34; import viz"启动线程后:

from threading import Thread
from time import sleep

import change
add_Thread = Thread(target=change.add)
add_Thread.start()

import viz