我希望每次执行时都在同一时间执行一段代码,就像播放媒体文件一样......(每次执行的代码完全相同)
这在python中是否可行?
答案 0 :(得分:2)
这应该可以解决问题:
def run_with_delay(funcs, interval):
for f in funcs[:-1]:
before = time()
f()
# compensate the interval with the execution time.
# NB: careful for functions that have a greater
# execution time than interval
after = time()
if after - before < interval:
sleep(interval - (after - before))
# last function is taken separately because we don't need
# an extra useless sleep
funcs[-1]()
答案 1 :(得分:1)
我不认为这可以通过语言结构(任何语言)来保证 - 您必须使用实时操作系统。我相信多媒体应用程序利用设备级缓冲来补偿OS进程调度程序中的时序抖动。
答案 2 :(得分:0)
我认为在交错指令以模拟多个线程的同时执行的操作系统中,这是不可能的。
您需要一个实时库或语言才能规定代码的截止日期,即使在规定的时间内也无法保证执行。