每秒最大信号
Posted
技术标签:
【中文标题】每秒最大信号【英文标题】:Max signal per seconds 【发布时间】:2011-03-09 17:58:16 【问题描述】:我想知道一个程序每秒可以捕获多少个信号(或任何时间比)。 问题是我想每 8 接收 8 个信号来填充一个字符(用 sigusr1 表示“0”,sigusr2 表示“1”)当我不使用类似睡眠的功能时,程序发送“用户信号 1 或2" 然后退出。
有没有办法确定一个程序可以捕获多少信号? 在我的测试中,它取决于序列持续时间(对于 100 个数字,他不会错过一个数字,但超过 500 个数字他会开始错过其中一些,我在每次传输之间使用 usleep(1000)。
谢谢。
编辑:抱歉发送得太早了。
【问题讨论】:
像这样使用信号来传递数据是一个骇人听闻的想法。你可以告诉你的教职员工我是这么说的——但你可能不会通过实际这样做来赢得很多朋友。信号适用于极少数情况,而不是高密度通信。 感谢您的建议,但我真的很期待使用信号 如果您遇到可靠性问题,请将其视为噪声通道,并制定一个协议来纠正丢失的信号(位)或错误解释的位(可能是由丢失信号引起的) ,也许是一种向发送者确认接收者正在处理的方式。 【参考方案1】:这取决于许多变量——硬件、其他软件运行导致的机器负载等。您无法将睡眠时间调整为在所有情况下都可靠。外部信号本质上是异步的。
基本上,您使用信号的方式并非有意使用它们。对于批量数据的通信,有更好的 IPC 选择,从简单的管道到 D-Bus,在套接字之上具有精细的集合、多播和过滤功能。
【讨论】:
谢谢你,我想我只是要在通信上放置一个令牌,以避免我采取其他解决方案!以上是关于每秒最大信号的主要内容,如果未能解决你的问题,请参考以下文章