提到进程间通信(IPC),你可能会想到很多种方式,比如:
1)消息传递(管道、FIFO、消息队列);
2)同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量);
3)共享内存(匿名的和具名的);
4)远程过程调用(Solaris门和Sun RPC)。
没错,你有很多种选择,但提到消息,很多人第一印象就是 发送者(Sender)和 接收者(Receiver)。你最早接触到的消息发送方式 可能是 TCP、UDP,也可能是Socket,亦或者其他,不论哪种,其Base思想都是发送者和接收者。
消息对于软件开发至关重要,对于大型软件来讲,复杂的逻辑决定了 仅仅通过调用远远无法达到设计的目标,消息是模块化设计的一个最重要的组成部分,没有之一,经过多年的软件开发,作者很负责任的告诉你,架构设计第一步:消息及通信协议设计。