Linux的进程/线程间通信方式总结

时间:2014-05-29 03:03:59   收藏:0   阅读:374

Linux系统中的进程间通信方式主要以下几种:

同一主机上的进程通信方式

  * UNIX进程间通信方式: 包括管道(PIPE), 有名管道(FIFO), 和信号(Signal)

  * System V进程通信方式:包括信号量(Semaphore), 消息队列(Message Queue), 和共享内存(Shared Memory)

网络主机间的进程通信方式

  * RPC: Remote Procedure Call 远程过程调用

  * Socket: 当前最流行的网络通信方式, 基于TCP/IP协议的通信方式.

各自的特点如下:

 

Linux系统中的线程间通信方式主要以下几种:

*  锁机制:包括互斥锁、条件变量、读写锁

  互斥锁提供了以排他方式防止数据结构被并发修改的方法。

读写锁允许多个线程同时读共享数据,而对写操作是互斥的。

  条件变量可以以原子的方式阻塞进程,直到某个特定条件为真为止。对条件的测试是在互斥锁的保护下进行的。条件变量始终与互斥锁一起使用。

*  信号量机制(Semaphore):包括无名线程信号量和命名线程信号量

*  信号机制(Signal):类似进程间的信号处理

 

线程间的通信目的主要是用于线程同步,所以线程没有像进程通信中的用于数据交换的通信机制。

转载:http://ju.outofmemory.cn/entry/69251

Linux的进程/线程间通信方式总结,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!