三、unix系统中,哪些可以用于进程间的通信?(1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。(2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命...
分类:
其他好文 时间:
2014-09-15 22:44:39
阅读次数:
571
相关介绍
分配一块独立于进程的内存,对内存的操作方式和对文件的操作方式类似。有如下特点:
1 只能用于父子进程之间。
2 管道的大小是有限制(一个页面的大小,4K字节)。
3 数据是单向流动的。
4 传送的是无格式字节流,需要双方事先确定好长度 格式等。
操作函数
1 创建一个管道
#inc...
分类:
其他好文 时间:
2014-09-15 13:00:59
阅读次数:
230
课程目标:理解ContentProvider的作用及好处认清ContentProvider与数据存储的关系掌握ContentProvider对外提供的数据模型形式能够编写ContentResolver的增删改查能够自定义一个ContentProvider ,能够提供进程间访问了解ContentPro...
分类:
其他好文 时间:
2014-09-15 12:50:48
阅读次数:
154
临界区和互斥锁的区别1、临界区只能用于对象在同一进程里线程间的互斥访问;互斥锁可以用于对象进程间或线程间的互斥访问。2、临界区是非内核对象,只在用户态进行锁操作,速度快;互斥锁是内核对象,在核心态进行锁操作,速度慢。3、临界区和互斥体在Windows平台都下可用;Linux下只有互斥锁可用
分类:
编程语言 时间:
2014-09-15 12:43:08
阅读次数:
241
一直对操作系统有兴趣,可惜水平太次(鄙人搞软件测试的,平时看代码多写代码少);现在整理了一下OS X系统的IPC(进程间通信)方式,按照官方的说法,竟然有10+种:关于不同IPC方式的总结,很重要:
分类:
移动开发 时间:
2014-09-15 00:51:37
阅读次数:
260
常用的进程间通信方式有这几种A.传统的进程间通信方式无名管道(pipe)、有名管道(fifo)和信号(signal)B.System v IPC对象共享内存(share memory)、消息队列(message queue)和信号灯(semaphore)C.BSD套接字(socket)一、无名管道(...
分类:
其他好文 时间:
2014-09-14 17:52:37
阅读次数:
363
由于内存管理的一些机制,进程的用户空间是相互独立的,一般是不能相互访问的,唯一例外的是共享内存。因此我们需要利用一些介质来完成进程间的通信。进程间通信方式:(1)管道linux中的管道分为无名管道和有名管道,前者用于父进程和子进程间的通信,后者用于任意两个进程间..
分类:
其他好文 时间:
2014-09-14 02:36:27
阅读次数:
226
(1)共享内存:通常由一个进程创建,其余进程对这块内存区进行读写。共享内存区域是被多个进程共享的一部分物理内存。如果多个进程都把该内存区域映射到自己的虚拟地址空间,则这些进程就都可以直接访问该共享内存区域,从而可以通过该区域进行通信。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写...
分类:
其他好文 时间:
2014-09-13 22:44:36
阅读次数:
251
1.1进程同步机制(1)原子操作:所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它是最小的执行单位,不可能有比它更小的执行单位。原子操作需要硬件的支持,因此是架构相关的。(2)信号量:信号量sem是一整数,当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝...
分类:
其他好文 时间:
2014-09-13 22:44:16
阅读次数:
252
Binder用于完成进程间通信,它是一种工作在Linux层面的架构,这种架构提供了服务端接口,Binder驱动,客户端接口三个模块 服务端,一个Binder服务端实际上就是一个Binder对象,该对象一旦创建就会启动一个线程,用于接收Binder驱动发送的消息,收到消息后会执行到Binder对象的o...
分类:
移动开发 时间:
2014-09-12 23:24:24
阅读次数:
228