如何使全局变量通过线程更新并在线程之间共享?

时间:2019-05-16 19:51:36

标签: python multithreading

我是python线程以及一般编程的初学者,但找不到这个问题的答案。我想设置一个变量,一个线程可以修改,另一个可以使用。我的代码是:

import threading

global x

x = 1

def xcounter():
    x = 2
    print('x is {} here'.format(x))

def xprint():
    print(x)

t = threading.Thread(target = xcounter)
r = threading.Thread(target = xprint)

t.start()
r.start()

我希望发生的事情:

x is 2 here
2

最终发生的事情:

x is 2 here
1

这里的线程顺序可能不是罪魁祸首,因为我既可以循环运行也可以保持不变。

0 个答案:

没有答案