
linux进程通信
文章平均质量分 80
市井小虾
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
进程间通信(二)
三、信号信号时linux中进程间的一种重要的通信方式。信号是在软件层次上对中断的一种模拟,也叫做软中断。信号是linux进程间通信机制中唯一的异步通信机制。信号通信机制包括信号的发送,信号的响应,信号的安装,信号集与信号集操作函数,以及信号的阻塞和未决。Linux中总共包括了64中信号,前32种信号是不可靠的信号(非实时信号:不支持排队);后32种是可靠地信号(即有效的解决了信号丢失的问题,且原创 2013-11-20 14:13:59 · 847 阅读 · 0 评论 -
进程间的通信(一)
进程间有很多的通信方式,包括:管道(pipe),命名管道(named pipe),信号(signal),消息(message)队列,共享内存,内存映射(mapped memory),信号量以及套接口(socket)。下面就逐一的介绍着几种通信方式。一、 管道管道是一种半双工的通信方式,用于具有亲缘关系的进程进行单方向的通信。linux用pipe函数创建一个管道,其函数原型为:#incl原创 2013-11-20 09:40:33 · 1014 阅读 · 0 评论 -
嵌套锁与读写锁
互斥锁(mutex)是实现线程或进程同步与互斥的一种通信机制。它在不同平台下具有不同的实现形式。我们先介绍下linux和windows下的互斥锁的实现。原创 2013-12-16 14:57:44 · 5512 阅读 · 0 评论 -
线程局部存储TLS
进程和线程实现并发,它们各自都有优缺点。进程是因为具有独立的进程地址空间,所以在创建进程和销毁进程时需要额外的开销,但是由于进程间的数据是独立的,因此一般情况下当一个进程出现意外死去的时候,是不会影响到其它线程的。但是线程和父线程共享全局变量,它只具有独立的堆栈空间和寄存器,虽然在创建线程和销毁线程时需要的开销比进程小很多,但是一般情况下当一个线程意外死去的时候,会导致整个主线程的崩溃。但是TLS原创 2013-12-20 14:08:48 · 851 阅读 · 0 评论 -
共享内存mmap()和CreateFileMapping()
共享内存是进程间的一种通信机制,而且它的作用不止于此。它的主要作用包括:提高I/O效率,匿名内存映射,内存共享进程通信。两个不同进程共享内存的意思是,同一快物理内存映射到该两个进程的进程地址空间。使用共享内存可以通过mmap()返回的指针直接操作文件中的内容,省去了read,write以及lseek等文件读写的操作,提高了I/O效率。并且共享内存是一中效率较高的进程间的通信机制,因为当通信建立时,原创 2013-12-18 22:42:52 · 5588 阅读 · 0 评论