003:Posix IPC的消息队列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了003:Posix IPC的消息队列相关的知识,希望对你有一定的参考价值。

1:与FIFO相比,FIFO要求对一个管道写入之前,必须有进程进行读打开。消息队列则不需要有进行在队列上等待消息的到达。

2:POSIX每次读取总是返回优先级最高的,system V则可以返回任意优先级。

3:往一个空队列放入一个消息,POSIX允许产生一个信号,或者启动一个线程,system不可以。

4:POSIX的基本操作函数:

1 #include <mqueue.h>
2 
3 mqd_t mq_open(const char *pathname, int oflag,...); 4 5 int mq_close(mqd_t mqds); 6 7 int mq_unlink(mqd_t mqds);

 

5.mqd_t 的属性 mq_attr

struct mq_attr{

long mq_flags; //0,O_NONBLOCK阻塞还是非阻塞

long mq_maxmsg;//一个队列可存放的最大数量消息

long mq_msgsize; //一个消息最大长度

long mq_curmsga;//当前队列消息数量

};

 

以上是关于003:Posix IPC的消息队列的主要内容,如果未能解决你的问题,请参考以下文章

POSIX的IPC方式:消息队列共享内存

linux里的ipc是啥意思

RE:Posix 和 System V IPC

POSIX消息队列

Posix消息队列相关函数

IPC System V 消息队列 - 发送一个数组块