当前位置:  技术问答>linux和unix

使用SYSTEM V队列,有关消息资源释放的问题

    来源: 互联网  发布时间:2016-02-07

    本文导语:  使用SYSTEM V消息队列中,为避免资源释放,是否每个消息的构造需要全局的吗?资源是否会自动释放? 例如 : V_SendMsg() {     MSG_T stSndMsg;  /* 需要准备发送的消息 */     初始化stSndMsg;     发送stSndMsg; ...

使用SYSTEM V消息队列中,为避免资源释放,是否每个消息的构造需要全局的吗?资源是否会自动释放?

例如 :
V_SendMsg()
{
    MSG_T stSndMsg;  /* 需要准备发送的消息 */
    初始化stSndMsg;
    发送stSndMsg;
    msgsnd(...stSndMsg....);

}

V_RcvMsg()
{
    MSG_T *pstRcvMsg;     /* 准备要接收消息的指针 */
    msgrcv(...pstRcvMsg.....);
    
}

问题:

V_SendMsg()将消息发送到队列中,是否将要发送的消息的一份拷贝发送至队列中呢?还是就将那一段内存直接发送至队列中?

V_RcvMsg()接收消息后,是否会自动释放资源?还是由我们自己主动释放呢?

|
V_SendMsg()将消息发送到队列中,是否将要发送的消息的一份拷贝发送至队列中呢?还是就将那一段内存直接发送至队列中?
===
拷贝

V_RcvMsg()接收消息后,是否会自动释放资源?还是由我们自己主动释放呢?
===
自己申请的内存当然要自己释放,如果消息长度不是太大,建议用结构代替指针
V_RcvMsg()
{
    MSG_T stRcvMsg;     /* 准备要接收消息的结构 */
    msgrcv(...stRcvMsg.....);
    
}
这样可以减少指针出错的概率。
当然,如果消息还需要尽一步的处理,指针是较好的选择,但是要坚持谁申请,谁释放的原则。

|
队列中资源的由系统处理, 队列外的动态资源你自己处理.

    
 
 

您可能感兴趣的文章:

  • 共享内存一般是怎么使用的,是同消息队列配合使用么
  • 消息队列一般是怎么使用的,是采用While的方式进行轮询么
  • 关于在UNIX中使用消息队列的一点疑问
  • Linux下使用C++互斥访问文件+消息队列
  • 大家好,linux内核中等待队列如何使用?哪儿有这些资料?谢谢各位
  • 关于消息队列的使用,欢迎大家讨论
  • 请问posix IPC中使用mq_open()创建消息队列的问题?
  • 如何使用shell脚本实现监控程序消息队列阻塞情况?
  • 在LINUX下用C编程有可以直接使用的“队列”数据结构吗?
  • 消息队列的使用疑问??
  • android开发教程之使用looper处理消息队列
  • 多进程中使用队列queue为什么会core了呢?
  • 使用消息队列遇到的问题!
  • c语言尾队列tailq使用示例分享
  • 关于消息队列的使用的问题
  • .Net消息队列的使用方法
  • java使用数组和链表实现队列示例
  • [急切求助]使用SYS V消息队列实现进程间通讯问题!!!
  • winform开发使用通用多线程基类分享(以队列形式)
  • STL map在使用过程中用了clear为什么在Top as中还是看不到内存释放呢?
  • 为什么linux下进程结束后,需要使用wait或者waitpid释放资源?
  • SQL Server游标的使用/关闭/释放/优化小结
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 做过中国农业银行项目的朋友请进,关于农行使用的解析XML消息的库如何使用!
  • ATCS10_SCO505版本,免费的类似TUXEDO消息中间件,欢迎大家使用!!!
  • python基础教程之python消息摘要算法使用示例
  • 请问一个使用JMS发送消息的问题:
  • 使用udp,客户端和服务器之间相互发送消息的例子
  • c++中的消息框messagebox()详细介绍及使用方法
  • 在线求助!关于如何使用“信号”的方式来响应键盘按下的消息!在线急盼回复!
  • python使用xauth方式登录饭否网然后发消息
  • c#使用微信接口开发微信门户应用中微信消息的处理和应答
  • 使用jaxws建立webservice客户端并实现soap消息的handler验证示例
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • c#中SAPI使用总结——SpVoice的使用方法
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • 使用了QWidget的程序,如何使用后台程序启动它?
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • Jsp可否使用带有GUI的JavaBean,如何使用?
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • asp程序使用的access在Linux下如何使用!
  • c/c++预处理命令预#,##使用介绍
  • 新装的Linux使用root用户不能使用FTP?
  • 在div中使用css让文字底部对齐的方法
  • LINUX下使用Eclipse,如何使用交叉编译器?
  • Python namedtuple(命名元组)使用实例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3