我想知道程序每秒可以捕获多少信号(或任何时间比率)。 问题是我希望每8接收一个信号,以填充一个字符(sigusr1为'0',sigusr2为'1')当我不使用类似睡眠的功能时,程序发送“用户信号1或2“然后退出。
无论如何确定一个程序可以捕获多少信号? 通过我的测试,它取决于序列持续时间(对于100个数字,他不会错过任何一个,但超过500个,他开始错过其中一些,我在每次传输之间使用usleep(1000)。
谢谢你。
编辑:抱歉发送太快了。答案 0 :(得分:0)
这取决于许多变量 - 硬件,由于其他软件运行导致的机器负载等。在任何情况下都无法调整睡眠时间以确保可靠性。外部信号本质上是异步的。
基本上,您以不打算使用的方式使用信号。对于批量数据的通信,有更好的IPC选择,从简单的管道到D-Bus,具有在套接字之上分层的精心设置的会合,多播和过滤功能。