zoukankan      html  css  js  c++  java
  • 【DSP开发】shared memory VS mailbox

    Hello,

    Hi everyone,
    I have a simple question. Could anyone explain to me the difference between Mailboxes and Shared Memory?

    A “Shared memory” (shm) is some portion of memory that you can share between process and threads. Like a malloc, you have a fixed size memory area, and you can do nearly what you want with. (Reading of writing)

    A Mailbox is more like a pipe. You push data (messages) on the pipe of indeterminate size (the mailbox as a fixed size that you can store multiples messages, but not exceeding the size of the mailbox)

    Classic mailboxes are “One consumer multiple producers” but some types of mailbox allow to have multiple consumers (but I not sure this is a good idea) and you can put priority on messages with some other sort of mailboxes. You have too the ability to suspend a task (thread or process) on reading a mailbox, allowing it to wait for a new message.

    Am I right, that both are possibilities for two or more tasks to exchange data?

    Yes but not is the same way (as explained above.) The use of each depends on what you want to do.

    If it for sharing global variables, shm is, as for me, the better way, if it for send private data, or give orders, Mailbox (or pipe) are the better.

    Will a message send to a mailbox still be in the mailbox after another task read it?

    No

    Greetings from Germany,
    Martin

    Greetings from South of France, and have a good day playing with IPC :)

    Manoel

  • 相关阅读:
    eclipse+myeclipse 使用技巧备忘
    程序员的自我修养
    枚举工具类 EnumUtils
    日期/时间处理工具 DateTimeUtil
    轻松了解Spring中的控制反转和依赖注入(一)
    了解SpringMVC框架及基本工作流程
    HTTP请求行、请求头、请求体详解
    Tomcat项目部署问题记录
    入手IntelliJ IDEA 常用配置
    解决阿里云OSS跨域问题
  • 原文地址:https://www.cnblogs.com/huty/p/8518498.html
Copyright © 2011-2022 走看看