我想使用线程以便在运行不同函数的同时true循环不断运行,但是问题是我每次尝试线程时都会收到NameError
这是代码:
import threading
wallet = 0
t1 = threading.Thread(target=lemon_mon)
t2 = threading.Thread(target=melon_mon)
t1.start()
t2.start()
def lemon_mon():
global wallet
while True:
wallet += 1
print(wallet)
def melon_mon():
while True:
wallet += 1
print(wallet)
这是我得到的错误:
line 8, in <module>
t1 = threading.Thread(target=lemon_mon) NameError: name 'lemon_mon' is not defined
答案 0 :(得分:0)
您应该在线程对象上方定义函数。同样,在您的melon_mon()
函数中,我认为您也应该为全局调用钱包
答案 1 :(得分:-1)
您应该在使用函数之前定义函数,因此代码将为:
import threading
wallet = 0
def lemon_mon():
global wallet
while True:
wallet += 1
print(wallet)
def melon_mon():
global wallet
while True:
wallet += 1
print(wallet)
t1 = threading.Thread(target=lemon_mon)
t2 = threading.Thread(target=melon_mon)
t1.start()
t2.start()
此外,您应该阅读有关Python线程的更多信息。