time.sleep()
是Python标准库中的一个函数,用于暂停当前线程的执行一段时间(以秒为单位)。当需要按固定时间间隔执行不同任务时,这个函数非常有用。
import time
tasks = [
lambda: print("执行任务1: 数据采集"),
lambda: print("执行任务2: 数据处理"),
lambda: print("执行任务3: 数据存储"),
lambda: print("执行任务4: 发送通知")
]
for i in range(10): # 运行10秒
current_task = tasks[i % len(tasks)] # 循环选择任务
current_task()
time.sleep(1) # 暂停1秒
import time
def task1():
print("执行任务A: 检查系统状态")
def task2():
print("执行任务B: 备份日志文件")
start_time = time.time()
while True:
current_time = time.time()
elapsed = current_time - start_time
if elapsed > 10: # 运行10秒后退出
break
if int(elapsed) % 2 == 0:
task1()
else:
task2()
time.sleep(1 - (time.time() - current_time)) # 精确控制1秒间隔
import time
import threading
def run_periodically(interval, task):
def wrapper():
while True:
task()
time.sleep(interval)
thread = threading.Thread(target=wrapper)
thread.daemon = True
thread.start()
def task_a():
print("定时任务A: 更新缓存")
def task_b():
print("定时任务B: 清理临时文件")
# 每1秒执行task_a
run_periodically(1, task_a)
# 每2秒执行task_b
run_periodically(2, task_b)
# 主线程保持运行
time.sleep(10)
time.sleep()
会阻塞当前线程,在GUI应用中可能导致界面无响应import time
def task_generator():
tasks = [
lambda: print("阶段1: 初始化系统"),
lambda: print("阶段2: 加载配置"),
lambda: print("阶段3: 启动服务"),
lambda: print("阶段4: 运行主循环")
]
for task in tasks:
yield task
gen = task_generator()
for task in gen:
task()
time.sleep(1)
这种方法可以在每次迭代时保持状态,适合需要按顺序执行不同任务的场景。
没有搜到相关的文章