消息队列可以认为是一个消息链表,某个进程往一个消息队列中写入消息之前,不需要另外某个进程在该队列上等待消息的达到,这一点与管道和FIFO相反。Posix消息队列与System V消息队列的区别如下:1. 对Posix消息队列的读总是返回最高优先级的最早消息,对System V消息队列的读则可以返回任...
分类:
其他好文 时间:
2014-11-28 17:42:11
阅读次数:
278
共享内存基本概念 共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据(如图)。 共享内存 VS. 其他IPC形式 用管道/消息队列传递数据 用共享内存传递数据 (内核为每个IPC对象维护一个数据结构) 共享内存生成之后,传递数据并不需要再走Linux...
分类:
系统相关 时间:
2014-11-27 16:17:24
阅读次数:
313
消息队列基本概念 消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法(仅局限与本机) 每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值 消息队列也有管道一样的不足,就是每个消息的最大长度是有上限的(MSGMAX),每个消息队列的总的字节数是有上限的(MSGMNB),系统上消息队列的总数也有一个上限(MSGMNI) 管道 vs. 消息队列:管道: ...
分类:
系统相关 时间:
2014-11-27 08:03:21
阅读次数:
366
最近感觉Handler不是非常懂,所以阅读了Handler的源码。先翻译一段源码中对Handler的介绍:Handler通过线程的MessageQueue允许你发送、处理Message和Runnable对象。每一个Handler实例都关联一个单独的线程和线程的消息队列。当你创建一个新的Handler,从这时起这个Handler被绑定在线程和线程队列上,它将为消息队列提供消息和runnable,并且...
分类:
其他好文 时间:
2014-11-26 16:33:53
阅读次数:
134
目前还有很多商用程序继续在使用C++、Java、VisualBasic和其他各种各样的语言编写。现在,除了最简单的程序之外,所有的应用程序都需要与运行在其他异构平台上的应用程序集成并进行数据交换。这样的任务通常都是由特殊的方法,如文件传输和分析,消息队列,还有仅适用于某些情况的的API,如I...
分类:
Web程序 时间:
2014-11-25 18:22:04
阅读次数:
226
Android中消息队列postDelay+Dialog引起的窗体泄露的主要原因是,当床窗体压入栈或者finish掉后,Activity由于需要处理postDelay而不能及时销毁,因此造成了一个问题,当dialog触发show方法时,由于window和activ...
分类:
移动开发 时间:
2014-11-25 09:23:36
阅读次数:
195
OSAL的消息队列每一个消息都包含一个消息头osal_msg_hdr_t和用户自定义的消息,osal_msg_hdr_t结构体定义如下:typedef struct{ void *next; uint16 len; uint8 dest_id;} osal_msg_hdr_t;在事件处理函数Samp...
分类:
其他好文 时间:
2014-11-24 20:48:34
阅读次数:
420
求职笔试中,考察进程通信方式是一个老生长谈的问题,每次都让我答得一头雾水,于是我总结了一下 这些必须了解的知识点。
实现linux进程通信的方式有6种:
--内存共享
--信号(Singal)
--管道(Pipe)
--消息队列(Message)
--信号量(Semaphore)
--socket
消息队列通信 请关注:h...
分类:
系统相关 时间:
2014-11-24 19:16:23
阅读次数:
199
在实际的项目中,需要storm从metaq中读取数据,一开始就有日志问题,查到是storm/lib中的log4j-over-slf4j和slf4j-api.jar包的不兼容导致的,这些日志包使用时必须版本一致,只有又产生了java.lang.IncompatibleClassChangeError:...
分类:
Web程序 时间:
2014-11-24 18:52:08
阅读次数:
360