我有一个问题,我必须从管道中读取流数据,用C编写的应用程序将数据写入管道。另一个用java编写的应用程序必须从这个linux管道中读取数据。这个java程序是一个多线程程序,当其他程序将数据写入该管道时,它将从该管道读取数据。当数据被添加到管道队列时,它应该不断地从管道中读取。任何建议都会很有帮助。
试图解决的问题是:
目前,一个应用程序(在C中)连续地将文件实时地创建到目录中,而另一个应用程序(在java中)读取和处理这些文件。在这种方法中,由于写入和读取来自不同目录的文件会有一些时间延迟,希望使用Linux管道可以帮助减少该时间延迟。有没有其他更好的方法来处理连续的大量数据?
我在谷歌上搜索了一些使用多线程java程序读取fifo的示例。我找不到任何合适的例子,如果你遇到任何这样的例子,请分享。
发布于 2018-09-27 03:48:31
如果你创建了一个FIFO文件,你实际上不会写到磁盘上,它只是文件系统中的一个文件,使它更容易被访问。您可以在fifo(7) (man 7 fifo
)的手册页上阅读有关fifo的信息,也可以在mkfifo(1) (man 1 mkfifo
)上阅读使用C语言编写fifo的命令。
https://stackoverflow.com/questions/52524882
复制相似问题