Linux进程同步
来源:互联网 发布:明解c语言 第三版 pdf 编辑:程序博客网 时间:2024/06/05 07:40
Linux进程同步-概述
进程间通讯(IPC)方法主要有以下几种:
管道/FIFO/共享内存/消息队列/信号量
进程间通讯(IPC)方法主要有以下几种:
管道/FIFO/共享内存/消息队列/信号量
1.管道中还有命名管道和非命名管道(即匿名管道)之分,非命名管道(即匿名管道)只能用于父子进程通讯,命名管道可用于非父子进程,命名管道就是FIFO,管道是先进先出的通讯方式
2.消息队列是用于两个进程之间的通讯,首先在一个进程中创建一个消息队列,然后再往消息队列中写数据,而另一个进程则从那个消息队列中取数 据。需要注意的是,消息队列是用创建文件的方式建立的,如果一个进程向某个消息队列中写入了数据之后,另一个进程并没有取出数据,即使向消息队列中写数据 的进程已经结束,保存在消息队列中的数据并没有消失,也就是说下次再从这个消息队列读数据的时候,就是上次的数据!!!!
3.信号量,它与WINDOWS下的信号量是一样的,所以就不用多说了
4.共享内存,类似于WINDOWS下的DLL中的共享变量,但LINUX下的共享内存区不需要像DLL这样的东西,只要首先创建一个共享内存区,其它进程按照一定的步骤就能访问到这个共享内存区中的数据,当然可读可写
以上几种方式的比较:
1.管道:速度慢,容量有限,只有父子进程能通讯
2.FIFO:任何进程间都能通讯,但速度慢
3.消息队列:容量受到系统限制,且要注意第一次读的时候,要考虑上一次没有读完数据的问题
4.信号量:不能传递复杂消息,只能用来同步
5.共享内存区:能够很容易控制容量,速度快,但要保持同步,比如一个进程在写的时候,另一个进程要注意读写的问题,相当于线程中的线程安全,当然,共享内存区同样可以用作线程间通讯,不过没这个必要,线程间本来就已经共享了同一进程内的一块内存
0 0
- linux 进程同步
- Linux进程同步
- linux 进程同步机制
- linux进程同步机制
- Linux进程同步机制
- Linux父子进程同步
- Linux进程同步
- linux进程间同步
- linux----进程同步
- Linux进程同步机制
- Linux 多线程/进程同步
- Linux内核同步,进程,线程同步
- Linux内核同步,进程,线程同步
- Linux内核同步/进程/线程同步
- Linux内核同步,进程,线程同步
- Linux内核同步,进程,线程同步
- linux程序设计:线程同步,进程同步
- Linux进程同步机制-Futex
- 第四周项目3 单链表应用(1)
- 第四周 项目5-猴子选大王
- 第四周项目5 循环双链表应用
- 第四周项目1--建立单链表
- 第4周SHH数据结构—【项目3-单链表应用(2)】
- Linux进程同步
- Nginx基本配置、性能优化指南
- 第4周实践项目2-单链表
- 项目3 -- 括号的匹配 顺序栈方法
- 第六周 项目1-建立顺序栈算法库
- ReactiveCocoa<一>
- 第四周项目1 建立单链表
- 第四周项目3--单链表应用之逆置
- 类模板 与 模板类 http://www.cnblogs.com/this-543273659/archive/2011/07/21/2112358.html