多个线程之间,是共享全局变量的
验证:
代码:
import threading
import time
# 定义一个全局变量
g_num = 100
def test1():
global g_num
g_num += 1
print("----in test1 g_num=%d----" % g_num)
def test2():
print("----in test2 g_num=%d----" % g_num)
def main():
t1 = threading.Thread(target=test1)
t2 = threading.Thread(target=test2)
t1.start()
time.sleep(1)
t2.start()
time.sleep(1)
print("----in main Thread g_num = %d" % g_num)
if __name__ == "__main__":
main()
输出结果:
输出的值都是一样的
全局变量之所以能共享,是因为开发者在开发Python时考虑到,执行多任务时