私はPythonアプリケーションを実行し、指定された間隔に基づいてアクションを実行しようとしています。以下のコードは常に100%のCPUを消費しています。pythonのプロセスがCPUを100%使用する
def action_print():
print "hello there"
interval = 5
next_run = 0
while True:
while next_run > time.time():
pass
next_run = time.time() + interval
action_print()
さまざまな間隔で実行するアクションが増えるため、プロセスをスリープ状態にしないようにしたいと考えています。
import time
interval = 5
next_run = 0
while True:
time.sleep(max(0, next_run - time.time()))
next_run = time.time() + interval
action_print()
あなたは他のスレッドがあなたを中断できるようにしたい場合は、eventは次のように使用します。
次の実行が可能になるとき、あなたが知っている場合、あなたは、単にtime.sleep
を使用することができます
一方的にスリープ状態にしたくない場合は、CPUを焼きます。 – Mat
「さまざまな間隔で実行するアクションが増えるでしょう」について詳しく説明できますか? –
プロセスがスリープしている間にすべてがオンタイムで実行されるようにするにはどうすればよいですか?私は睡眠を使用しようとしたが、秒未満のものはCPUを食べる。 – m1k3y3