我想编码的最基本形式是如下代码:
import threading
arr = []
def test(id):
global arr
arr.append(id)
threading.Thread(target=test, args="8")
print(arr)
我想做的是将“8”附加到一个名为 arr 的全局变量,但这并没有发生,print(arr) 给出了这个输出:
[]
但是,如果我使用这段代码,一切正常:
import threading
arr = []
def test(id):
global arr
arr.append(id)
test("8")
print(arr)
问题似乎与线程有关,那么如何使用线程并更改函数test 中的全局变量的值?
请您参考如下方法:
您还必须启动线程才能实际运行函数 test
import threading
arr = []
def test(id):
global arr
arr.append(id)
t = threading.Thread(target=test, args="8")
t.start()
t.join()
print(arr)
