共享内存
来源:互联网 发布:蓝牙模块hc06 java 编辑:程序博客网 时间:2024/05/21 23:55
共享内存允许两个或多个进程共享一给定的存储区,因为数据不需要来回复制,所以是最快的一种进程间通信机制。
共享内存可以通过mmap()映射普通文件(特殊情况下还可以采用匿名映射)机制实现,也可以通过系统V共享内存机制实现。应用接口和原理很简单,内部机制复杂。为了实现更安全通信,往往还与信号灯等同步机制共同使用。mmap的机制如:就是在磁盘上建立一个文件,每个进程存储器里面,单独开辟一个空间来进行映射。如果多进程的话,那么不会对实际的物理存储器(主存)消耗太大。shm的机制:每个进程的共享内存都直接映射到实际物理存储器里面。1、mmap保存到实际硬盘,实际存储并没有反映到主存上。优点:储存量可以很大(多于主存);缺点:进程间读取和写入速度要比主存的要慢。2、shm保存到物理存储器(主存),实际的储存量直接反映到主存上。优点,进程间访问速度(读写)比磁盘要快;缺点,储存量不能非常大(多于主存)使用上看:如果分配的存储量不大,那么使用shm;如果存储量大,那么使用mmap。
0 0
- 【共享内存】共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- oracle笔记4
- sqlplus常用命令
- ORACLE 笔记5
- oracle 笔记1
- oracle 笔记2
- 共享内存
- ORACLE 笔记3
- ORACLE 总结
- PB中屏蔽数据窗口中数据类似 not …
- ORACLE 利用SQL_TRACE命令跟踪!
- 转贴自it168--耳机起死回生
- 实例化类,怎么限制只能在堆或栈分配!
- 转帖:完整的ORACLE RMAN 备份恢复…
- 如何选择一家公司?