Unix/Linux IPC及线程间通信总结
来源:互联网 发布:用户画像数据来源 编辑:程序博客网 时间:2024/06/06 03:19
Unix/Linux IPC及线程间通信总结
一、互斥与同步
1.互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。
2.同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源.
3.同步是一种更为复杂的互斥,而互斥是一种特殊的同步.
二、通信与同步
进程间同步本身也是一种进程间通信(因为涉及信息的交换),当然也是一种原始的进程间通信,但同时又是更高级的进程间通信机制的基石。
对线程亦然.
三、临界区(Critical section)与互斥体(Mutex)的区别
1、临界区只能用于对象在同一进程里线程间的互斥访问;互斥体可以用于对象进程间或线程间的互斥访问。
2、临界区是非内核对象,只在用户态进行锁操作,速度快;互斥体是内核对象,在核心态进行锁操作,速度慢。
3、临界区和互斥体在Windows平台都下可用;Linux下只有互斥体可用。
四、linux IPC
1.经典IPC:
(1)管道pipe、命名管道fifo //最基本最常用
(2)消息队列、信号量semaphore、共享内存
//分为Posix IPC和System V IPC,共享内存是运行在同一台机器上的进程间通信最快的方式
2高级IPC: 流管道、命名流管道
(以上是限于同一台主机的各个进程间的IPC)
3.支持不同主机上各个进程的IPC:套接口socket、流
五、线程间通信机制:
1.互斥锁
2.信号量
3.读写锁
4.条件变量
一、互斥与同步
1.互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。
2.同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源.
3.同步是一种更为复杂的互斥,而互斥是一种特殊的同步.
二、通信与同步
进程间同步本身也是一种进程间通信(因为涉及信息的交换),当然也是一种原始的进程间通信,但同时又是更高级的进程间通信机制的基石。
对线程亦然.
三、临界区(Critical section)与互斥体(Mutex)的区别
1、临界区只能用于对象在同一进程里线程间的互斥访问;互斥体可以用于对象进程间或线程间的互斥访问。
2、临界区是非内核对象,只在用户态进行锁操作,速度快;互斥体是内核对象,在核心态进行锁操作,速度慢。
3、临界区和互斥体在Windows平台都下可用;Linux下只有互斥体可用。
四、linux IPC
1.经典IPC:
(1)管道pipe、命名管道fifo //最基本最常用
(2)消息队列、信号量semaphore、共享内存
//分为Posix IPC和System V IPC,共享内存是运行在同一台机器上的进程间通信最快的方式
2高级IPC: 流管道、命名流管道
(以上是限于同一台主机的各个进程间的IPC)
3.支持不同主机上各个进程的IPC:套接口socket、流
五、线程间通信机制:
1.互斥锁
2.信号量
3.读写锁
4.条件变量
- Unix/Linux IPC及线程间通信总结
- Unix/Linux IPC及线程间通信总结
- Unix/Linux IPC及线程间通信总结
- Unix/Linux IPC及线程间通信总结
- Unix/Linux IPC及线程间通信总结
- Linux\Unix IPC进程通信
- UNIX/Linux进程间通信IPC---管道--全总结(实例入门)
- Unix IPC进程间通信
- Unix IPC进程间通信
- Unix IPC进程间通信
- linux进程间通信(IPC)机制总结
- UNIX/Linux进程间通信IPC系列(一)总论
- UNIX/Linux进程间通信IPC系列(三)FIFO
- UNIX/Linux进程间通信IPC系列(二)管道
- UNIX/Linux进程间通信IPC系列(六)信号量
- UNIX/Linux进程间通信IPC系列(五)信号
- 进程间通信简介(IPC)--《linux/unix系统编程手册》
- Unix/linux进程及线程间同步技术总结
- 报文 ---报文交换 分组交换
- Linux下java web服务器搭建(Apache2.2+2Tomcat6)
- 用XML实现按钮改变焦点设置背景图
- JQuery和普通Ajax请求比较
- CvCreateImage函数说明
- Unix/Linux IPC及线程间通信总结
- 探索ORACLE之RMAN_04非一致性备份
- 关于八皇后的高效解法
- 最近发现的一些小问题
- 奇偶调序
- tail 命令
- 名字,只是个代码
- Linux下java web服务器搭建(vsftp配置介绍)
- 函数的封装之获取进程句柄...