gpt4 book ai didi

Python 线程。定时器在执行函数之前不等待

转载 作者:行者123 更新时间:2023-12-01 03:02:45 26 4
gpt4 key购买 nike

我整理了一个快速线程测试:

import threading

def test():
print "it don't work"
while True:
threading.Timer(1, test).start()

它运行测试,但不等待。怎么了?

最佳答案

在每次循环迭代中,您都会启动一个新线程。因此,您将达到允许的线程限制,并且您将收到异常:无法启动新线程。

while True:
threading.Timer(1, test).start()

您可以添加全局标志并等待函数执行 - 您应该使用 time.sleep 以避免忙等待。

a = False
def test():
global a
print("hallo")
a = True
threading.Timer(10, test).start()
while not a:
time.sleep(1)
print('done')

关于Python 线程。定时器在执行函数之前不等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43664654/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com