我有两个定时器驱动的 python 应用程序。这些应用程序在每个固定的时间间隔执行。定时器驱动的代码是这样驱动的:
while True:
do_something()
sleep(10)
我有几个问题:
- 应用程序需要定期执行。上述方法是否正确?
- 它真的需要守护这些类型的应用程序,或者在一些工具(如upstart)的帮助下简单地在后台运行就可以了吗?这两种方法有何不同?
- 如果我们在一台机器上有多个应用程序(考虑多核 cpu),那么这些应用程序将如何在执行期间获取系统资源?
- 如果 cpu 忙于执行其他任务,同时这些应用程序的计时器到期,会发生什么情况,在 cpu 上运行的作业是否会被抢占或取决于作业的性质。因此,如果该作业是非抢占式的,我的理解是该作业将排队等待处理。如果是这种情况,那么如何使应用程序在每个确定的时间间隔运行。