1
爲什麼my_string的值不會更改?Python:從另一個線程更改變量值
我從兩個不同的模塊運行兩個線程,模塊2訪問模塊1的「set_string」以便更改「my_string」的值,但是當模塊1打印字符串時,它的空。
第一模塊:
from threading import Thread
import Module2 as M2
import time
my_string = ""
def set_string(string):
global my_string
my_string = string
def mainloop1():
global my_string
while True:
print("Module 1: ", my_string)
time.sleep(1)
if __name__ == '__main__':
thread = Thread(target=M2.mainloop2)
thread.start()
mainloop1()
第二模塊:
import Module1 as M1
import time
import random
def mainloop2():
while True:
string = str(random.randint(0, 100))
print("Module 2: ", string)
M1.set_string(string)
time.sleep(1)