此问题在此处已有答案:
python threading blocks(1个答案)
thread starts running before calling Thread.start(1个答案)
6小时前关门了。
我尝试在计算机上启动以下代码,但线程无法工作:
import threading
def infinite_loop():
while 1 == 1:
pass
def myname():
print("chralabya")
t1 = threading.Thread(target=infinite_loop())
t2 = threading.Thread(target=myname())
t1.start()
t2.start()
当我执行这个程序时,myname()
从未被执行。有人能给我解释为什么线程不工作吗?
1条答案
按热度按时间rxztt3cl1#
target=inifinite_loop()
* 调用您的函数 *(注意()
)并将结果(永远不会出现)赋给target
参数。这不是您想要的!相反,您需要将 * 函数本身 * 传递给
Thread
构造函数: