![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
unpipc
文章平均质量分 81
damotiansheng
这个作者很懒,什么都没留下…
展开
-
消息队列和管道的区别(转载)
From: http://www.cnblogs.com/Anker/archive/2013/01/08/2850871.html转载自:http://bbs.chinaunix.net/viewthread.php?tid=265266作者:beginner-bj请问管道和消息队列有什么不同 管道通信(PIPE)管道通信方式的中间介质是文件,通常称这种文件为管道文件转载 2015-04-10 16:16:43 · 697 阅读 · 0 评论 -
Posix消息队列
from: http://www.cnblogs.com/Anker/archive/2013/01/04/2843832.html消息队列可以认为是一个消息链表,某个进程往一个消息队列中写入消息之前,不需要另外某个进程在该队列上等待消息的达到,这一点与管道和FIFO相反。Posix消息队列与System V消息队列的区别如下:1. 对Posix消息队列的读总是返回最高优先级的最早消息,对转载 2015-04-08 14:02:09 · 478 阅读 · 0 评论 -
信号的阻塞
From: http://www.cnblogs.com/encode/archive/2012/06/13/2547493.html信号的阻塞就是让系统暂时保留信号留待以后发送。(注意:不是不发送,而是延迟发送)一般情况下信号的阻塞只是暂时的,只是为了防止信号打断敏感的操作。1 信号集所有的信号阻塞函数都使用称作信号集的数据结构来表明受到影响的信号。每一个操作都包括两个阶段:转载 2015-04-08 09:50:13 · 650 阅读 · 0 评论 -
信号相关函数(signal,sigaction,sigprocmask, kill,sigqueue信号发送函数,睡眠函数,计时器函数)
from: http://blog.csdn.net/sddzycnqjn/article/details/7285760#comments1. 信号概念 信号是进程在运行过程中,由自身产生或由进程外部发过来的消息(事件)。信号是硬件中断的软件模拟(软中断)。每个信号用一个整型常量宏表示,以SIG开头,比如SIGCHLD、SIGINT等,它们在系统头文件中定义,也可以通过在shell下转载 2015-04-08 15:26:15 · 1947 阅读 · 0 评论 -
Linux信号(signal) 机制分析
from: http://www.cnblogs.com/hoys/archive/2012/08/19/2646377.html【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理函数的安装转载 2015-04-08 15:31:12 · 650 阅读 · 0 评论 -
Posix信号量
From: http://www.cnblogs.com/Anker/archive/2013/01/13/2858765.html1、概述 信号量(semaphore)是一种用于提供不同进程间或一个给定进程的不同线程间同步手段的原语。信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有。信号量的值为正的时候,说明它空闲。所测试的线程可以锁定而使用它。转载 2015-04-16 11:00:04 · 449 阅读 · 0 评论 -
共享内存(chapter 12)
ref: http://www.cnblogs.com/Anker/archive/2013/01/16/2862800.html共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某转载 2015-04-21 09:57:40 · 583 阅读 · 0 评论 -
System V 信号量(chapter 11)
From: http://www.cnblogs.com/Anker/archive/2013/01/14/2859352.htmlSystem V 信号量在内核中维护,其中包括二值信号量 、计数信号量、计数信号量集。二值信号量 : 其值只有0、1 两种选择,0表示资源被锁,1表示资源可用;计数信号量:其值在0 和某个限定值之间,不限定资源数只在0 1 之间;计数信号量集转载 2015-04-20 14:57:23 · 558 阅读 · 0 评论 -
记录锁(Chapter 9)
From: http://www.cnblogs.com/Anker/archive/2013/01/11/2856170.html1、概述 记录锁是读写锁的一种扩展类型,可用于亲缘关系或无亲缘关系的进程之间共享某个文件的读与写。被锁住的文件通过文件描述符进行访问,执行上锁的操作函数是fcntl,这种类型的锁通常在内核中维护。 记录锁的功能是:一个进程正在读或修改文转载 2015-04-14 16:00:57 · 408 阅读 · 0 评论 -
signal函数和sigaction结构体理解
signal函数和sigaction结构体理解一,signal函数详细介绍: http://blog.csdn.net/ta893115871/article/details/7475095#include #include #include /*SIG_IGN忽略/SIG_DFL默认,这俩宏也可以作为信号处理函数。同时SIGSTOP/SIGKILL这俩信号原创 2015-04-08 11:52:46 · 8011 阅读 · 0 评论 -
Posix消息队列使用非阻塞mq_receive的信号通知
//msgcreate.c:#include #include #include #include #include #include #include #include #include #define FILE_MODE S_IRUSR|S_IWUSR|S_IRGRP|S_IROTHstruct mq_attr attr; /* mq_maxmsg and mq_ms转载 2015-04-07 20:46:43 · 5109 阅读 · 0 评论 -
读写锁(chapter 8)
From: http://www.cnblogs.com/Anker/archive/2013/01/09/2853137.html1、概述 读写锁与互斥量类似,不过读写锁允许更高的并行性。互斥量要么是锁住状态,要么是不加锁状态,而且一次只有一个线程对其加锁。读写锁可以有三种状态:读模式下加锁状态,写模式下加锁状态,不加锁状态。一次只有一个线程可以占有写模式的读写锁,但是多个转载 2015-04-10 16:11:44 · 378 阅读 · 0 评论 -
互斥锁和条件变量(chapter 7)
From: http://www.cnblogs.com/Anker/archive/2013/01/09/2852442.html为了允许在线程或进程之间共享数据,同步时必须的,互斥锁和条件变量是同步的基本组成部分。1、互斥锁 互斥锁是用来保护临界区资源,实际上保护的是临界区中被操纵的数据,互斥锁通常用于保护由多个线程或多进程分享的共享数据。一般是一些可供线转载 2015-04-10 16:15:13 · 386 阅读 · 0 评论 -
System V消息队列(Chapter 6)
from: http://blog.chinaunix.net/uid-20797562-id-181427.html1、消息队列的基本概念 消息队列就是一个消息的链表。有足够写权限的进程可往队列中放置消息,有足够读权限的进程可从队列中取走消息。每个消息是一个记录它由发送者赋予一个优先级。在某个进程往一个队列写入消息之前,并不需要另外某个进程在该队列上等待消息的到达。这跟管道和转载 2015-04-09 12:38:36 · 522 阅读 · 0 评论 -
System V IPC(Chapter 3)
From: http://www.cnblogs.com/Anker/archive/2013/01/07/2848591.html1、概述 System V IPC共有三种类型:System V消息队列、System V 信号量、System V 共享内存区。 System V IPC操作函数如下:2、key_t键和ftok函数 三种类型的IPC使用key_转载 2015-04-10 16:24:29 · 535 阅读 · 0 评论 -
System V 消息队列—复用消息(Chapter 6)
消息队列中的消息结构可以由我们自由定义,具备较强的灵活性。通过消息结构可以共享一个队列,进行消息复用。通常定义一个类似如下的消息结构:#define MSGMAXDAT 1024struct mymsg{ long msg_len; //消息长度 long msg_type; //消息类型 long msg_data[MSGMAXDATA]; /转载 2015-04-09 19:21:48 · 938 阅读 · 0 评论 -
管道和FIFO(Chapter 4)
From: http://www.cnblogs.com/Anker/archive/2012/12/09/2810142.html管道(pipe) 管道在Unix及Linux进程间通信是最基础的,很容易理解。管道就像一个自来水管,一端注入水,一端放出水,水只能在一个方向上流动,而不能双向流动。管道是典型的单向通信,即计算机网络中所说的“半双工”。管道又名匿名转载 2015-04-10 16:31:57 · 434 阅读 · 0 评论 -
System V 消息队列2 (Chapter 6)
From: http://www.cnblogs.com/Anker/archive/2013/01/07/2848869.html1、概述 消息队列可以认为是一个消息链表,System V 消息队列使用消息队列标识符标识。具有足够特权的任何进程都可以往一个队列放置一个消息,具有足够特权的任何进程都可以从一个给定队列读出一个消息。在某个进程往一个队列写入消息之前,并不需要另外转载 2015-04-10 16:23:42 · 593 阅读 · 0 评论 -
System V 共享内存区(chapter 14)
ref: http://www.cnblogs.com/Anker/archive/2013/01/20/2868357.html1、概述 系统调用mmap通过映射一个普通文件实现共享内存。System V 则是通过映射特殊文件系统shm中的文件实现进程间的共享内存通信。也就是说,每个共享内存区域对应特殊文件系统shm中的一个文件。执行过程是先调用shmget,再调用sh转载 2015-04-22 09:02:17 · 408 阅读 · 0 评论 -
Posix共享内存区(chapter 13)
ref: http://www.cnblogs.com/Anker/archive/2013/01/19/2867696.html1、概述 Posix提供了两种在无亲缘关系进程间共享内存区的方法:(1)内存映射文件:先有open函数打开,然后调用mmap函数把得到的描述符映射到当前进程地址空间中的一个文件(上一篇笔记所用到的就是)。(2)共享内存区对象:先有shm_转载 2015-04-21 11:51:19 · 512 阅读 · 0 评论