信号量和Mutex类似,表示可用资源的数量,和Mutex不同的是,这个数量可以大于1,即如果信号量描述的资源数目是1时,此时的信号量和互斥锁相同。下面我们看看POSIXsemaphore库函数,它既可以用于同一进程的线程间同步,也可以用于不同进程间的同步。1.intsem_init(sem_t*sem,i..
分类:
其他好文 时间:
2016-04-25 01:11:34
阅读次数:
326
共享内存共享内存是进程间通信中最简单的方式之一。
共享内存允许两个或更多进程访问同
一块内存,就如同
malloc()
函数向不同进程返回了指向同一个物理内存区域的指针。当一
个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个更改。
因为所有进程共享同一块..
分类:
其他好文 时间:
2016-04-23 01:50:58
阅读次数:
154
一.线程的概念(1)线程是能够独立调度和分派的基本单位;(2)线程中的实体基本上不拥有系统资源,只是有一点必不可少的,能保证其独立运行的资源;(3)在一个进程中的多个线程之间可并发执行;同样,不同进程中的线程也能并发执行。(4)在同一进程中的各个线程都可以共享该..
分类:
编程语言 时间:
2016-04-20 02:18:02
阅读次数:
325
信号量是不同进程间或一个给定进程内部不同线程间同步的机制。SystemV信号量是一个或多个信号量的集合,其中的每一个都是氮素的计数信号量。SystemV信号量由内核维护,主要函数有:semget,semop,semctl。我们重点来讨论semop函数,该函数的主要功能是对信号进行PV操作。P操作负..
分类:
系统相关 时间:
2016-04-15 23:09:44
阅读次数:
307
Messenger类可以在不同进程中传递Messge对象进行数据通信 Messenger是轻量级的IPC方案对AIDL进行了封装。 步骤: 1、在Service的onBind()方法中创建Messenger对象,并关联Handler 2.在Activity中 ...
分类:
系统相关 时间:
2016-04-15 15:30:10
阅读次数:
210
共享内存可以说最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A,B共享内存的意思是,同一块物理内存被映射到进程A,B各自的进程地址空间。进程A可以及时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和..
分类:
其他好文 时间:
2016-04-14 22:40:58
阅读次数:
269
通信:因为进程有强大独立性,当想把自己数据交给另一个进程,需要通信。通信本质:让不同进程看到相同资源。匿名管道:管道:通过某种机制传递资源(数据),匿名管道只适用于有血缘关系的进程,一般用于父,子进程通信。a.创建管道b.创建子进程c.父,子进程关闭自己不需要的文..
分类:
系统相关 时间:
2016-04-10 01:33:16
阅读次数:
311
上面讲了很多关于广播的很多基础概念,那么BroadcastReceiver在实际的应用中到底会起到样的作用呢? 因为广播是一个系统级别的监听器,所以它可以将不同进程间通信的一个“纽带”。举个简单的例子,我们知道在我们启动service是如果用startService这种方式启动时,访问者和servi ...
分类:
移动开发 时间:
2016-04-05 10:43:39
阅读次数:
293
1. 域套接字: (1) 只能用于同一设备上不同进程之间的通信; (2) 效率高于网络套接字。域套接字仅仅是复制数据,并不走协议栈; (3) 可靠,全双工; 2. 域套接字地址结构: 当我们将一个地址绑定至域套接字,系统用该路径名创建一个类型为S_IFSOCK的文件,尽告诉客户端名字,不能打开,也不
分类:
系统相关 时间:
2016-03-22 00:32:13
阅读次数:
297
进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当
分类:
系统相关 时间:
2016-03-20 19:45:31
阅读次数:
209