如何停止sleep()函数



我有一个无限循环,它会立即休眠一分钟,然后显示一条消息,但问题是,当我停止循环时,sleep((函数会工作,消息会显示在最后。是否可以在立即停止循环后重置sleep((?

from time import sleep
i = int(input())
flag = True
while flag:
if i < 0:
flag = False
sleep(60)
print('Hello, world')

您可能需要实现一个;"特殊可中断睡眠"。。。像这样的事情可能是一个天真的实现;作品";

def do_something():
pass

class Program:
flag = True
def stoppable_sleep(self,t):
endTime = time.time() + t
while time.time() < endTime and self.flag:
time.sleep(0.1)
def mainloop(self):
while flag:
do_something()
self.stoppable_sleep(60)
print("Done...")
def stop(self):
self.flag = False
p = Program()
threading.Timer(5,p.stop)
p.mainloop()

最新更新