进程间有三种通信方式:消息队列通信、信号量通信和共享内存通信。
消息队列通信
消息队列是在两个不相关的进程之间传递数据的一种简单高效的方式,独立于发送进程和接收进程而存在。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
信号量通信
信号量是一种提供不同进程或者一个给定的不同线程之间同步的手段。它常作为锁机制,防止进程访问共享资源时,其它的进程也访问该资源。主要作为进程之间以及同一进程内的不同线程之间的同步手段。
共享内存
共享内存是指在多个处理器的计算机中,可以被不同的中央处理器访问的大容量的内存。共享内存是最快的IPC方式,它是针对其它进程间通信方式运行效率低的问题专门设计的。它往往与其它通信机制配合使用,来实现进程间的同步通信。