0

我正在 Linux 中创建一个简单的设备驱动程序,它应该通过串行方式读取一些数据,对其进行解析、结构化,然后将其流式传输到任何需要数据的进程。

我认为实现这一目标的最佳方法是使用管道广播数据。

在 Linux 中,将进程 A 的输出通过管道传输到其他 N 个进程的输入的最佳方法是什么?

谢谢!

4

1 回答 1

0

我会让驱动程序写入内存中的循环缓冲区,并使用对应的 API 来发现缓冲区的地址并将数据从缓冲区读取到消费者的私有内存中。在我的实现中,慢消费者可能不会收到所有数据,但这可以通过引入缓存快速消费来排队大量数据以供慢消费者恢复来解决。

于 2012-10-08T18:03:18.697 回答