1

私はPythonで目覚まし時計を作成していますが、簡単な質問があります:

私の目覚まし時計の分解能は秒単位まで下げる必要があります。現在、0.5 秒ごとにウェイクアップし、ノイズを発生させる時間かどうかをチェックするスレッドがあります。

私の唯一の懸念は、ある時点でシステムが完全に過負荷になり、アラームが鳴らないことです。これは、時刻を確認するはずだった秒の間に目覚まし時計のスレッドがまだスリープしていたためです。

だから私の質問は、0.05秒ごとにチェックする方が良いでしょうか? または、特定の時間にイベント ハンドラーを python に登録する方法があるので、自分で時間をチェックし続ける必要はありません。

4

2 に答える 2

2

タイマー機能については、標準signalモジュールを確認してください。

また、アクションをトリガーするタイミングがすでにわかっている場合は、実行するtime.sleep(seconds)直前に実行してみませんか?(seconds明らかに、アクションをトリガーするための残り時間は秒単位である必要があります)

于 2011-01-10T20:42:16.760 に答える
2

それは最善の解決策ではありません。1 秒以上ロックアウトされる保証はありません。

0.5 秒の解像度に固執する必要があります (それに依存するライフがない場合はさらに悪化します)。イベントが発生した場合はイベントごとにフラグを保持する必要があります。その後、常に正確に 1 回、達成可能な限り目標時間に近いタイミングで発射されます。

于 2011-01-10T20:38:39.263 に答える