Вопрос

Я хочу выполнить часть моего кода в одно и то же время каждый раз, когда я его выполняю, что -то вроде игры в медиа -файл ... (тот же кусок кода выполняется в одинаковое время каждый раз) каждый раз)

Возможно ли это в Python?

Это было полезно?

Решение

Это должно сделать свое дело:

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]()

Другие советы

Я не думаю, что это может быть гарантировано языковой конструкцией (на любом языке)-вы должны быть в операционной системе в реальном времени. Я полагаю, что мультимедийные приложения используют преимущества буферизации на уровне устройства, чтобы компенсировать время джиттер времени в планировщике процесса ОС.

Я должен подумать, что это было бы невозможно в операционной системе, которая переплетает инструкции по моделированию одновременного выполнения нескольких потоков.

Вам понадобится библиотека или язык в реальном времени, чтобы установить сроки для вашего кода, и даже тогда выполнение не может быть гарантировано в отведенное время.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top