Skip to main content
 首页 » 编程设计

python之定期运行三个函数之多线程多处理

2024年08月30日33myhome

<分区>

我问过一个非常相似的问题 earlier ,但项目范围正在迅速扩大,超出了信号可以到达的范围(我认为)。基本上,我的程序将在三个不同的时间间隔内做一些事情;每 15 秒一次功能,以可配置的时间间隔(通常为 5 到 60 秒)一次功能,以及一两小时一次功能。

从直观的角度来看,使用不同的函数调用多个 signal.signal() 似乎不会让我走得太远:一个 ITIMER_REAL 定时器只发出一个信号——SIGALRM,因此无法区分哪个信号定时器正在发出信号。由于 15 秒间隔函数需要运行而不管其他函数可能发生什么,这让我可以选择多线程或多处理。

我倾向于多处理,希望我可以生成三个子进程,每个子进程都有自己的信号/定时器间隔,并让它们各自在闲暇时完成自己的工作。这可行吗?如果不是,让这三个函数按所需时间间隔运行的最佳方法是什么?