linux进程间通信(IPC)机制 1.共享内存 共享内存是在多个进程之间共享内存区域的一种进程间的通信方式,由IPC为进程创建的一个特殊地址范围,它将出现在该进程的地址空间(这里的地址空间具体是哪个地方?)中。其他进程可以将同一段共享内存连接到自己的地址空间中。所有进程都可以访问共享内存中的地址, ...
分类:
系统相关 时间:
2017-11-25 23:46:35
阅读次数:
439
(1)有三种方法:虚拟内存,内存映射文件,内存堆栈。 虚拟内存是将页文件加载到内存,适用于比较大的对象或结构; 内存映射文件是将磁盘上文件加载到内存,适用于大文件和单机的进程间内存共享; 堆栈就是动态的分配内存,适用于小对象的创建。 这些在windows核心编程中都描述得很详细的。 (2)当进程要读 ...
Struct:结构体Union:联合体联合体是几个不同类型的变量共占一段内存(相互覆盖),因为是内存共享,所以它不能同时存放多个成员的值,而只能存放其中的一个值,就是最后赋予它的值,例如:uni.a=3,uni.b=4.5,uni.c="A";赋值之后共享的同一块内存的值会被覆盖。对于union的不同..
分类:
其他好文 时间:
2017-11-06 22:43:59
阅读次数:
163
原文地址:http://www.cnblogs.com/work115/p/5620272.html 一、概念 1、进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本 ...
分类:
编程语言 时间:
2017-11-05 14:32:38
阅读次数:
262
1.管道 无名管道是一种只用于父子进程间的半双工的通信方式。有名管道是可以在无亲缘关系进程间通信。 2.信号量 用来控制多进程或多线程对共享资源的访问,是一种多进程和多线程之间同步的手段。 3.信号 用来通知接收进程某个事件已经发生。 4.共享内存 共享内存就是映射一段其它进程能被多进程访问的内存。 ...
分类:
系统相关 时间:
2017-11-03 14:13:48
阅读次数:
223
说明:利用管道实现服务端与客户端之间的交互。效果等同于利用socket。 命名管道(NamedPipe)是一种简单的进程间通信(IPC)机制,是服务器进程和一个或多个客户进程之间通信的单向或双向管道。其本质是文件读写、内存共享。 采用命名管道完成进程通信的过程为:1.在服务器端调用CreateNam ...
分类:
其他好文 时间:
2017-10-19 19:49:42
阅读次数:
238
一、什么是共享内存 共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言 ...
分类:
系统相关 时间:
2017-10-16 22:13:10
阅读次数:
214
mysql 中的 latch锁和Tlock(事务锁), DML加锁规则,以及死锁分析。 一.Latch和Tlock的关系 Latch:为保护临界资源的正确性而设计,例如保护正在使用的内存页面不被破坏等。 没有死锁检测机制,轻量锁,并且作用对象时内存页面或是内存共享变量. Tlock:事务锁,作用对象 ...
分类:
数据库 时间:
2017-10-16 11:09:29
阅读次数:
200
ThreadLocal(线程变量副本)Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。ThreadLocal类中维护一 ...
分类:
编程语言 时间:
2017-10-13 12:43:35
阅读次数:
200
一、Binder是android重要的IPC通讯,与传统的IPC(Linux 内存共享,管道,信号量,消息队列,socket等)通讯相比,有如下特点: 1、简洁快速 2、内存消耗小 3、进程开销小 4、传输性能高,传输过程只需一次拷贝(共享内存的方式) 5、进程间同步调用(socket是异步),Bi ...
分类:
其他好文 时间:
2017-10-11 14:16:05
阅读次数:
233