我有一个代码片段,我希望每30秒定期执行一次。我现在正在使用time.sleep(),这很糟糕,因为它暂时阻止了与程序的任何交互,但我没有找到任何其他方法。代码是:
while True:
mapMatrix=updateMaps(mapMatrix,5,before)
allPlayersRecommendation(initiallyPlayed, arrayPlayerStats, mapMatrix)
time.sleep(30)
我发现有多种方法可以使用线程库定期运行void函数,但这一种不同,因为我需要在变量mapMatrix
中存储一个值
这并不是一个问题,因为你可能会认为线程使一个无效的任务成为一个普遍的假设,你在这里试图完成的似乎是将一个函数的结果赋给一个变量。由于线程的
target
函数的“结果”被丢弃,这就产生了一个问题我们的解决方案非常简单,您可以简单地将变量赋值封装在一个void函数中
线程直接运行
routine
,它将以一定的间隔运行get_result
,并将结果存储到全局变量a
你仍然应该考虑来自评论者的建议,{{CD5>}可能不是最合适的解决方案。尽管如此,在python中线程无法轻松完成此任务的假设是错误的
相关问题 更多 >
编程相关推荐