我在Linux中创建一个简单的设备驱动程序,它应该读取一些数据,通过串行,解析,构建它,然后将其流式传输到任何需要数据的进程。
我认为实现这一目标的最佳方法是使用管道广播数据。
在Linux中,最好将进程A的输出传输到N个其他进程的输入中?
谢谢!
答案 0 :(得分:0)
我会让驱动程序写入内存中的循环缓冲区,并使用对应的API来发现缓冲区的地址,并将数据从缓冲区读入消费者的私有内存。在我的实现中,慢速消费者可能无法接收所有数据,但这可以通过引入缓存快速消耗以排队大量数据来缓解消费者恢复来解决。