zoukankan      html  css  js  c++  java
  • messageQ 消息队列

    之后就是对MessageQ的打开,关闭, 消息的发送和接受。

    MessageQ_create(),MessageQ_delete(); 对消息的创建和删除。

    MessageQ_open(); MessageQ_close(); 对消息通道的打开和关闭。

    MessageQ_put();MessageQ_get();消息的接受和发送。

    注意:

    1.一个消息队列可以有多个写者,但是只能有一个读者。(一般有几个核就创建几个消息通道, 一个核对应一个消息通道)

    2.消息队列由谁创建就有谁删除,对打开就有谁关闭, (通常为写端打开,写端关闭,读端创建,读端删除)

    3.可以对发送消息的结构体进行自由封装

    MessageQ模块:主核(核0)在将图像文件输入共享内存后,需要将输入图像缓存和输出图像缓存的地址打包成消息,传递给从核。总之,MessageQ是用来传递少量信息的,一般是地址,标志位之类的参数,不是传递大规模数组用的。对于大规模的数组,可以利用messageQ传递其首地址。

    MessageQ模块的主要特点:
    1. 实现了处理期间变长消息的传递,所需要传递的消息一般超过32bit;
    2. 其消息的传递都是通过操作消息队列来实现的;
    3. 每个消息队列可以有多个写者,但只能有一个读者,而每个任务(task)可以对多个消息队列进行读写;
    4. 一个宿主在准备接收消息时,必须先创建消息队列,而在发送消息前,需要打开预定的接收消息队列;

    很关键的一点就是 谁接收,谁创建( messageQ_create() )
    谁发送,谁打开( messageQ_open() )

  • 相关阅读:
    常用编码格式算法
    js显示当前时间
    客户端和服务器端乱码问题
    常用的小技巧
    开发jsp中常用标签
    java中的反射
    java中的单例设计模式
    java中的枚举类
    关于继承时构造方法的问题
    TCP三次握手和四次握手全过程 为什么要三次握手而不是二次握手?
  • 原文地址:https://www.cnblogs.com/pjl1119/p/10028432.html
Copyright © 2011-2022 走看看