博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux进程间通知,linux 进程间通信之消息传递
阅读量:6485 次
发布时间:2019-06-23

本文共 943 字,大约阅读时间需要 3 分钟。

5.int mq_send(mqd_t mqdes,const char *ptr,size_t len,unsigned int prio);

int mq_receive(mqd_t mqdes,char *ptr,size_t len,unsigned int *priop);

mq_send函数往消息队列中写入消息,mq_receive函数从消息队列中读出消息。

6.int mq_notify(mqd_t mqdes,const struct sigevent *motification);

结构体:

union sigval{

int sival_int;

void *sival_ptr;

};

struct sigevent

{

int sigev_notify;

int sigev_signo;

union sigval sigev_value;

void  (*sigev_notify_function)(union sigval);

pthread_attr_t *sigev_notify_attributes;

};

mq_notify函数为指定队列建立或删除异步事件通知。一些普遍适用于该函数的若干规则

1).如果notification参数非空,那么当前进程希望在一个消息达到所指定的先前为空的队列时得到通知。我们说"该进程被注册为接收该队列的通知"。

2).如果notification参数为空指针,而且当前进程目前被注册为接收所指定队列的通知,那么已存在的注册将被撤销。

3).任意时刻只有一个进程可以被注册为接收某个给定队列的通知。

4).当有一个消息达到某个先前为空的队列,而且已有一个进程被注册为接收该队列的通知时,只有在没有任何线程阻塞在该队列的mq_receive调用中的前提下,通知才会发出。这就是说,在mq_receive调用中的阻塞比任何通知的注册都优先。

5).当该通知被发送给它的注册进程时,其注册即被撤销。该进程必须再次调用mq_notify以重新注册(想要的话)。

参考:Unix进程间通信

posted on 2011-07-07 02:29 周强 阅读(2794) 评论(3)  编辑 收藏 引用 所属分类: linux

b943bf726be220166054e92f1fb5e526.png

转载地址:http://gmnuo.baihongyu.com/

你可能感兴趣的文章
yii框架常用url地址
查看>>
python3.4学习笔记(十六) windows下面安装easy_install和pip教程
查看>>
MyGUI 解析
查看>>
Linux中的ls命令详细使用
查看>>
graph-tool文档(一)- 快速开始使用Graph-tool - 2.属性映射、图的IO和Price网络
查看>>
GraphicsLab Project之辉光(Glare,Glow)效果 【转】
查看>>
Linux Curl命令
查看>>
-27979 LoadRunner 错误27979 找不到请求表单 Action.c(73): Error -27979: Requested form not found...
查看>>
[LeetCode] Minimum Depth of Binary Tree
查看>>
,net运行框架
查看>>
Java 中 Emoji 的正则表达式
查看>>
Mixin Network第一届开发者大赛作品介绍- dodice, diceos和Fox.one luckycoin
查看>>
安卓Glide(4.7.1)使用笔记 01 - 引入项目
查看>>
中金易云:为出版社找到下一本《解忧杂货店》
查看>>
Flex布局
查看>>
Material Design之 AppbarLayout 开发实践总结
查看>>
Flutter之MaterialApp使用详解
查看>>
DataBinding最全使用说明
查看>>
原生Js交互之DSBridge
查看>>
Matlab编程之——卷积神经网络CNN代码解析
查看>>