【发布时间】:2020-07-23 16:01:34
【问题描述】:
我正在做一个简单的项目来学习线程,这是我的代码:
import time
import threading
x = 0
def printfunction():
while x == 0:
print("process running")
def timer(delay):
while True:
time.sleep(delay)
break
x = 1
return x
t1 = threading.Thread(target = timer,args=[3])
t2 = threading.Thread(target = printfunction)
t1.start()
t2.start()
t1.join()
t2.join()
它应该只是在控制台中打印出process running 三秒钟,但它永远不会停止打印。控制台没有显示任何错误,我尝试缩短时间,看看我是否等待的时间不够长,但它仍然不起作用。然后我尝试删除t1.join()和t2.join(),但我仍然没有运气,程序继续运行。
我做错了什么?
【问题讨论】:
标签: python multithreading time python-multiprocessing python-multithreading