一共享内存介绍共享内存可以从字面上去理解,就把一片逻辑内存共享出来,让不同的进程去访问它,修改它。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地...
分类:
系统相关 时间:
2014-10-21 11:53:17
阅读次数:
227
进程和线程的关系:(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。(3)处理机分给线程,即真正在处理机上运行的是线程。(4)线程在执行过程中,需要协作同步。不同进程的线程..
分类:
编程语言 时间:
2014-10-15 05:48:50
阅读次数:
275
共享内存
共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一样。而如果某个进程向共享内存写入数据,所做的改动将立即影响到可以访问同一段共享内...
分类:
系统相关 时间:
2014-10-12 23:16:18
阅读次数:
410
前提: 在多任务操作系统下,多个进程会同时运行,并且一些进程之间可能存在一定的关联.同步关系与互斥关系: 多个进程可能为了完成同一个任务相互协作,这样形成进程之间的同步关系.而且在不同进程之间,为了争夺有限的系统(硬件或软件资源) 会进入竞争状态,这就是进程之间的互斥关系.本质: 进程之间的互斥与同...
分类:
其他好文 时间:
2014-10-11 23:52:16
阅读次数:
264
IPC是进程间通信的简称.传统上该术语描述的是运行在某个操作系统之上的不同进程间消息传递的不同方式.我们讨论分为四个领域:消息传递(管道,FIFO,消息队列(system v消息队列,posix消息队列));同步(互斥锁,条件变量,读写锁,信号灯)共享内存区(匿名共享内存区,有名共享内存区)过程调用...
分类:
系统相关 时间:
2014-10-11 19:06:56
阅读次数:
237
共享内存的方式原理就是将一份物理内存映射到不同进程各自的虚拟地址空间上,这样每个进程都可以读取同一份数据,从而实现进程通信。因为是通过内存操作实现通信,因此是一种最高效的数据交换方法。共享内存在 Windows 中是用 FileMapping 实现的,从具体的实现方法上看主要通过以下几步来实现:1、...
多线程之线程同步Mutex (功能与Critial Sections相同,但是属于内核对象,访问速度较慢,可以被不同进程调用)
一 Mutex
互斥对象(mutex)内核对象能够确保线程拥有对单个资源的互斥访问权。实际上互斥对象是因此而得名的。互斥对象包含一个使用数量,一个线程ID和一个递归计数器。
互斥对象的行为特性与关键代码段相同,但是互斥对象属于内核对象,而关键代码...
分类:
编程语言 时间:
2014-10-09 01:21:37
阅读次数:
266
如今最经常使用的进程间通信的方式有:信号,信号量,消息队列,共享内存。 所谓进程通信,就是不同进程之间进行一些"接触",这种接触有简单,也有复杂。机制不同,复杂度也不一样。通信是一个广义上的意义,不仅仅指传递一些massege。他们的用法是基本相同的,所以仅仅要掌握了一种的用法,然后记住其他的用.....
分类:
系统相关 时间:
2014-09-29 12:42:20
阅读次数:
145
今天碰到一个服务在配置文件里android:process=":updataService" 是个独立的线程在Application里我有个SharedPreferences统一管理单例工具,当我在Service里访问并设置了一个SP(发现会new这个SP工具!!!)但在Application反问时...
分类:
其他好文 时间:
2014-09-24 19:49:17
阅读次数:
134
线程标识
线程由线程号进行标识。线程号仅在线程所属的进程环境中有效。也就是说属于不同进程的两个线程可能线程号一样。
线程标识用结构体pthread_t tid表示。与线程Id相关的函数如下:
比较两个线程ID:
#include
int pthread_equal(pthread_t tid1,pthread_t tid2);
...
分类:
编程语言 时间:
2014-09-23 12:56:54
阅读次数:
249