当前位置 : 主页 > 网络安全 > 测试自动化 >

性能 – Vala中的高效守护进程

来源:互联网 收集:自由互联 发布时间:2021-06-22
我想在Vala中制作一个守护进程,每隔X秒执行一次任务. 我想知道哪种方式最好: Thread.usleep()或Posix.sleep() GLib.MainLoop GLib.Timeout 其他? 当它什么都不做的时候我不希望它吃掉太多的资源
我想在Vala中制作一个守护进程,每隔X秒执行一次任务.
我想知道哪种方式最好:

> Thread.usleep()或Posix.sleep()
> GLib.MainLoop GLib.Timeout
>其他?

当它什么都不做的时候我不希望它吃掉太多的资源.

如果您在系统调用中花费时间,那么从性能角度来看,不会有任何明显差异.也就是说,使用MainLoop方法可能有两个原因:

>您将需要设置信号处理程序,以便您的守护程序在给出SIGTERM时可以立即死亡.如果你通过Posix.signal绑定SIGTERM来调用主循环上的quit,这可能会比检查睡眠成功更可读.>如果您决定增加复杂性,MainLoop将使其更加直接.

网友评论