摘要: [TOC] 1. 管道(无名管道) pipe函数 管道由pipe函数创建,提供一个单向半双工数据流,它没有名字,只能在父子进程间使用。 pipe通过参数fd[2]返回两个文件描述符:fd[0]用于读,fd[1]用于写,管道的典型的用法如下: 父进程创建一个管道,然后调用fork创建子进程 父进程关闭 阅读全文
posted @ 2019-09-18 22:47 原野追逐 阅读(942) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. 析构函数 C++的类中可以定义一个特殊的清理函数,叫做析构函数,语法规则为 析构函数没有参数,也没有返回值类型声明 析构函数在对象销毁时自动被调用 当类中自定义了构造函数,并且构造函数中使用了系统资源(如:堆空间、文件打开,等),则需要自定义析构函数 2. 对象的构造与析构顺序 多 阅读全文
posted @ 2019-09-18 22:46 原野追逐 阅读(602) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. 概述 System V共享内存在概念上类似于Posix共享内存,代之以调用shm_Open后调用mmap的是,先调用shmget,再调用shmat。 对于每个System V共享内存,内核都维护如下的信息结构,它定义在sys/shm.h头文件中,其中带注释的是我们需要关注的成员。 阅读全文
posted @ 2019-09-18 22:36 原野追逐 阅读(376) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. 概述 System V消息队列使用消息队列标识符标识,和Posix消息队列一样,发送消息和接收消息的线程(进程)是相互独立、互不依赖的。 对于系统中的每个消息队列,内核维护一个定义在sys/msg.h头文件中的结构,其中带注释的是我们需要关注的成员变量。 2. 消息队列API ms 阅读全文
posted @ 2019-09-18 22:25 原野追逐 阅读(1146) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. System V IPC 概述 以下三种类型的IPC合称为System V IPC: System V信号量 System V消息队列 System V共享内存 System V IPC在访问它们的函数和内核为它们维护的信息上有一些类似点,主要包括: IPC键和ftok函数 ipc 阅读全文
posted @ 2019-09-17 22:52 原野追逐 阅读(1018) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. 概述 共享内存是可用IPC机制中最快的,一旦共享内存区映射到共享它的进程地址空间: 进程间的数据传递就不再执行需进入内核的系统调用 各个进程向共享内存读写数据往往需要某种形式的同步 这些进程间的同步通常使用Posix有名信号量或无名信号量 对比下面两张图所展示的例子: 不使用共享内 阅读全文
posted @ 2019-09-16 22:39 原野追逐 阅读(2574) 评论(1) 推荐(0) 编辑
摘要: [TOC] 1. 构造函数的定义 从程序设计的角度,类的对象只是变量,在栈上和堆上创建对象时,成员变量初始为随机值;创建全局对象时,成员变量初始为0值。 C++中可以定义与类名相同的特殊成员函数,叫做构造函数 构造函数没有任何返回类型 类的构造函数在对象定义时自动被调用,进行对象的初始化工作 对象的 阅读全文
posted @ 2019-09-16 20:53 原野追逐 阅读(604) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. 概述 消息队列可认为是一个消息链表,队列中的每个消息具有如下属性: 消息优先级,由发送者赋予 消息数据长度,可以为0 消息数据(如果消息数据长度大于0) Posix消息队列主要用于线程间消息的传递: A线程向队列中放置消息,B线程从队列中取出消息 A线程向队列写入消息之前,不需要B 阅读全文
posted @ 2019-09-16 20:49 原野追逐 阅读(1598) 评论(0) 推荐(1) 编辑
摘要: [TOC] 1. 函数重载 函数重载,指的是用同一个函数名搭配不同的参数,从而定义不同的函数。 重载函数在本质上是相互独立的不同函数,它们的函数类型不同。 函数重载至少需要满足下面三个条件之一 参数个数不同 参数类型不同(指的是显式类型,不包括隐式类型转换,如int和char属不同类型) 参数顺序不 阅读全文
posted @ 2019-09-16 20:01 原野追逐 阅读(720) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. 概述 定义 生产者消费者问题是线程同步的经典问题,也称为有界缓冲区问题,问题描述大致如下: 生产者和消费者之间共享一个有界数据缓冲区 一个或多个生产者(线程或进程)向缓冲区放置数据 一个或多个消费者(线程或进程)从缓冲区取出数据 缓冲区 生产者消费者问题中的缓冲区,包括队列缓冲区和 阅读全文
posted @ 2019-09-15 14:50 原野追逐 阅读(4009) 评论(0) 推荐(0) 编辑