タイマー駆動の 2 つの Python アプリケーションがあります。これらのアプリケーションは、一定の時間間隔ごとに実行されます。タイマーによって駆動されるコードは、次のように駆動されます。
while True:
do_something()
sleep(10)
いくつか質問があります:
- アプリケーションは定期的に実行する必要があります。上記の方法は正しいですか?
- これらの種類のアプリケーションをデーモン化する必要が本当にあるのでしょうか、それともupstartなどのツールを使用して単にバックグラウンドで実行するだけでよいのでしょうか? これら 2 つのアプローチの違いは何ですか?
- 1 台のマシンに複数のアプリケーションがある場合 (マルチコア CPU を考えてください)、これらのアプリケーションは実行中にどのようにシステム リソースを取得するのでしょうか?
- CPU が他のタスクの実行でビジーで、その間にこれらのアプリケーションのタイマーが期限切れになった場合、CPU で実行されているジョブがプリエンプトされるか、ジョブの性質に依存するかはどうなりますか。したがって、ジョブが非プリエンプティブの場合、このジョブは処理のためにキューに入れられると理解しています。この場合、特定の時間間隔ごとにアプリケーションを実行する方法。