c - 我自己的消息队列/fifo

标签 c linux ipc

有人可以指导我如何实现我自己的 FIFO 应用程序以在 IPC 中使用,我知道我可以使用 SHM、套接字或使用任何其他 sys-v 或 posix ipc 来完成此操作。

我正在寻找这个的原因是因为我想用我自己的规范构建这个fifo,该规范将适合我的应用程序与此应用程序内部的锁定,以便任何应用程序只能调用入队或出队,就像fifo一样只要你写入的内容少于pipe_buff,内核就会确保它是原子的。我知道如何构建循环缓冲区队列,但我不确定如何从另一个应用程序调用它,我是否需要为其构建 API?还是别的什么?

系统是Linux,语言是c。

最佳答案

我强烈建议使用 POSIX MQ 库。它们是线程安全的,我相信可能是持久的。我使用它取得了很大的成功,它让我能够专注于解决手头的问题,而不是自己解决问题。

关于c - 我自己的消息队列/fifo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13925074/

相关文章:

c - 具有结构数组的线程返回 SIGSEGV (段错误错误)?

Linux pip,它在哪里安装软件?

c - 是否可以使用 IPC 将二维数组分配为共享内存?

perl - IPC::Open3::open3() 不适用于 perl 5.14.2 和 perl 5.10.1?

c - 指向函数的指针数组

c - 为什么我的 if/else 语句永远不会转到 else ?

c++ - io_getevents 在短于超时的时间内返回的作业数量少于请求的数量

linux - 如何在 GNU/Linux 上的目录树中搜索文件

mysql - 无法在 RHEL 6.5 上安装 lib_mysqludf_sys

PHP进程间通信监控消息队列