摘要: [TOC] 1. 概述 定义 生产者消费者问题是线程同步的经典问题,也称为有界缓冲区问题,问题描述大致如下: 生产者和消费者之间共享一个有界数据缓冲区 一个或多个生产者(线程或进程)向缓冲区放置数据 一个或多个消费者(线程或进程)从缓冲区取出数据 缓冲区 生产者消费者问题中的缓冲区,包括队列缓冲区和 阅读全文
posted @ 2019-09-15 14:50 原野追逐 阅读(4009) 评论(0) 推荐(0) 编辑
摘要: 在C语言中,强制类型转换的方式为(Type)Expression,另外还有一种现在已经不用的旧式写法Type(Expression),这两种方式是等价的。 但是,C语言的强制类型转换方式存在一些问题: 过于粗暴,可以在任意类型之间进行转换,编译器很难判断其正确性 难于定位,在源代码中无法快速定位所有 阅读全文
posted @ 2019-09-15 11:59 原野追逐 阅读(7621) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. new/delete C++中的动态内存分配 C++通过new关键字进行动态内存申请 C++中的动态内存申请是基于类型进行的 delete关键字用于内存释放 cpp include int main() { int p = new int; p = 5; p = p + 10; p 阅读全文
posted @ 2019-09-15 11:42 原野追逐 阅读(315) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. 函数参数默认 C++可以在函数声明时为参数提供一个默认值,若函数调用时没有提供参数的值,则使用默认值。 函数参数的默认值只能在函数声明中指定,在函数定义时不能再出现默认值,否则编译器会报错。 函数默认参数的规则 参数的默认值必须从右向左提供 函数调用时使用了默认值,则后续参数也必须 阅读全文
posted @ 2019-09-15 11:01 原野追逐 阅读(1467) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. Posix IPC 概述 以下三种类型的IPC合称为Posix IPC: Posix信号量 Posix消息队列 Posix共享内存 Posix IPC在访问它们的函数和描述它们的信息上有一些类似点,主要包括: IPC名字 创建或打开时指定的读写权限、创建标志以及用户访问权限 下表汇 阅读全文
posted @ 2019-09-15 08:37 原野追逐 阅读(1068) 评论(0) 推荐(0) 编辑