如下代码, 无论有没有 main ,使用 threading.Thread 没有 start , 为什么运行都执行了。
Python 3.8+ , Win 和 Mac 表现都是在这个样子,请教下怎么回事,谢谢
代码片段一 [有 main 的] :
import time
import threading
def print_one():
while True:
print(time.time())
time.sleep(2)
if __name__ == '__main__':
t1 = threading.Thread(target=print_one())
# t1.start()
print(threading.enumerate())
代码片段二 [没有 main 的]
import time
import threading
def print_one():
while True:
print(time.time())
time.sleep(2)
t1 = threading.Thread(target=print_one())
# t1.start()
print(threading.enumerate())
1
stein42 2022-12-10 20:19:34 +08:00 1
t1 = threading.Thread(target=print_one) # 去掉 print_one 后的括号
|
2
xiaoyanbot OP @stein42 感谢! 可以了
|