3

メディアファイルを再生するのと同じように、実行するたびにコードの一部をまったく同じ時間で実行したい... (同じコードが毎回まったく同じ時間で実行される)

これはpythonで可能ですか?

4

3 に答える 3

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]()
于 2011-01-15T19:29:01.207 に答える
1

これは、(どの言語でも) 言語構造によって保証できるとは思いません。リアルタイム オペレーティング システムを使用する必要があります。マルチメディア アプリケーションは、デバイス レベルのバッファリングを利用して、OS プロセス スケジューラのタイミング ジッタを補正していると思います。

于 2011-01-15T19:17:59.773 に答える
0

複数のスレッドの同時実行をシミュレートするために命令をインターリーブするオペレーティング システムでは、これは不可能であると考えるべきです。

コードの期限を規定するには、リアルタイムのライブラリまたは言語が必要ですが、それでも割り当てられた時間内に実行されることは保証されません。

于 2011-01-15T19:17:04.587 に答える