作为典型的分布式系统,Hadoop中各个实体间存在着大量的交互,远程过程调用让用户可以像调用本地方法一样调用另外一个应用程序提供的服务,而不必设计和开发相关的信息发送、处理和接收等具体代码,是一种重要的分布式计算技术,它提高了程序的互操作性,在Hadoop的实现中得到..
分类:
其他好文 时间:
2014-11-30 17:21:27
阅读次数:
150
信号量API综合实践//实践1:封装PV原语
union mySemUn
{
int val; // Value for SETVAL//
struct semid_ds *buf; // Buffer for IPC_STAT, IPC_SET//
unsigned short *array; // Array for GETAL...
分类:
系统相关 时间:
2014-11-30 12:34:17
阅读次数:
153
进程的同步与互斥 顺序程序与并发程序特征顺序程序并发程序顺序性共享性封闭性:(运行环境的封闭性)并发性确定性随机性可再现性 进程互斥 由于各进程要求共享资源,而且有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥. 系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源。 在进程中涉及到互斥资源的程序段叫临界区. 互斥示例说...
分类:
系统相关 时间:
2014-11-30 12:33:11
阅读次数:
272
系统建立IPC通讯(如消息队列、共享内存时)必须指定一个ID值。通常情况下,该id值通过ftok函数得到。 ftok原型如下: key_t ftok( char * fname, int id ) fname就时你指定的文件名(该文件必须是存在而且可以访...
分类:
系统相关 时间:
2014-11-30 01:01:09
阅读次数:
286
ContentProvider统一了对数据源操作的接口,并支持进程间通信(IPC),应用进程之间可以通过ContentProvider对外暴露接口,来分享数据。作为android中核心组件,不得不深入了解,翻看了android的源码写篇blog与大家分享。1.我画了一个静态类结构图,看下图:上图中已经把ContentP..
分类:
移动开发 时间:
2014-11-30 00:57:19
阅读次数:
269
在android中进程间通信(IPC)的基石是Binder系统,Binder系统的核心Binder驱动是C来实现的,对于应用开发人员来说无疑晦涩难懂,而整个android框架是基于面向对象思想的,对于底层Binder驱动的操作细节全部隐藏,framework层提供了一个牛逼无比的Binder对象,所以我们要实现进程..
分类:
移动开发 时间:
2014-11-30 00:56:11
阅读次数:
161
ActivityManagerServiceActivityManagerService(简称:AMS)管理着应用程序中创建的所有组件(Activity、Service等),每个组件的信息与组件对应的进程信息都在管理范围内,包括内存释放潜规则。为了实现组件的管理,每个组件的状态变化都需要通知AMS,组件间的跨进程通信(IPC)..
分类:
移动开发 时间:
2014-11-30 00:55:29
阅读次数:
260
消息队列基本概念 消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法(仅局限与本机) 每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值 消息队列也有管道一样的不足,就是每个消息的最大长度是有上限的(MSGMAX),每个消息队列的总的字节数是有上限的(MSGMNB),系统上消息队列的总数也有一个上限(MSGMNI) 管道 vs. 消息队列:管道: ...
分类:
系统相关 时间:
2014-11-29 11:59:12
阅读次数:
279
消息队列函数 #include
#include
#include
int msgget(key_t key, int msgflg);
int msgctl(int msqid, int cmd, struct msqid_ds *buf);
int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg);...
分类:
系统相关 时间:
2014-11-29 11:58:26
阅读次数:
302
API综合使用//父进程发送消息,子进程接收消息
struct msgBuf
{
long mtype; /* message type, must be > 0 */
char mtext[104]; /* message data */
};
const int MSGNUMBER = 10;
int main()
{
//获取一个键
key...
分类:
系统相关 时间:
2014-11-29 11:57:20
阅读次数:
295