在python中使用循环等待比sleep命令更紧张吗?

2024-09-19 23:42:29 发布

您现在位置:Python中文网/ 问答频道 /正文

在python3上,我需要停到某个特定的时间。我需要非常精确地知道我什么时候醒来。问题是,在这个暂停,我应该做一些计算,将采取的一部分时间。所以我不能只是time.sleep()通过它,否则我会开始太晚。你知道吗

所以我想运行以下代码:

import time
wakeuptime=time.time()+20 #start again exactly 20 seconds from now
UnpredictablySlowFunction()  
while (time.time()<wakeuptime): 
    pass

我有点担心,这种循环可能比普通的time.sleep()更无用地占用CPU。特别是考虑到程序应该全天候在后台运行。你知道吗


Tags: 代码fromimporttime时间sleepstartnow
1条回答
网友
1楼 · 发布于 2024-09-19 23:42:29

正如@tobias\u k在评论中提到的,试试这个:

import time
wakeuptime=time.time()+20 #start again exactly 20 seconds from now
UnpredictablySlowFunction()  
time_left = wakeuptime -time.time()
time.sleep(time_left)

相关问题 更多 >