摘要: 进程间通信 (IPC) 方法总结(三) 信号量(SEMAPHORE) 信号量是一个计数器,用于多进程对共享数据的访问,信号量的意图在于进程间同步。 为了获得共享资源,进程需要执行下列操作: 1. 创建一个信号量:这要求调用者指定初始值,对于二值信号量来说,它通常是1,也可是0。 2. 等待一个信号量 阅读全文
posted @ 2019-06-12 22:08 12oz 阅读(1714) 评论(0) 推荐(0) 编辑
摘要: 进程间通信 (IPC) 方法总结(二) 共享内存(SHARE MEMORY) 使得多个进程可以可以直接读写同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。 为了在多个进程间交换信息,内核专门留出了一块内存区,可以由需要访问的进程将其映射到自己的私有地址空间。进程就可以 阅读全文
posted @ 2019-06-11 22:02 12oz 阅读(1628) 评论(0) 推荐(2) 编辑
摘要: 进程间通信 (IPC) 方法总结 进程间通信(IPC,InterProcess Communication) Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核,在内核中开辟一 阅读全文
posted @ 2019-06-10 21:42 12oz 阅读(11051) 评论(0) 推荐(1) 编辑
摘要: libevent 使用流程 使用流程 1. 创建一个事件处理框架 2. 创建一个事件 3. 事件添加到处理框架 4. 开始事件循环 5. 释放资源 事件处理框架 event_base 1. 使用libevent函数之前需要分配一个或者多个event_base结构体. 每个event_base结构体有 阅读全文
posted @ 2019-04-19 13:35 12oz 阅读(1589) 评论(0) 推荐(0) 编辑
摘要: 你将获得 个鸡蛋,并可以使用一栋从 到 共有 层楼的建筑。 每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。 你知道存在楼层 ,满足 `0 temp[i 1][k 1] ? temp[i][j k] : temp[i 1][k 1]; if(max t) { max = t; } } 阅读全文
posted @ 2019-03-05 22:46 12oz 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 一个万用的Hash Function 一般在产生对象的hash码时,许多人会将对象中各个类型的元素取得hash码后相加得出该元素的hash码。这样做除了简单没有任何依据,根据实际中的应用,会发现这种方法产生相同的hash码可能性很大。所以C++提出了一种产生hash码的方法。 tuple 相当是一个 阅读全文
posted @ 2019-01-23 16:58 12oz 阅读(542) 评论(0) 推荐(0) 编辑
摘要: functors 仿函数(functor),就是使一个类的使用看上去像一个函数。其实现就是类中实现一个 ,这个类就有了类似函数的行为,就是一个仿函数类了。 在STL中,将仿函数主要分为了三大类:算术类(Arithmetic)、逻辑运算类(Logical)和相对关系类(Relational)。 算术类 阅读全文
posted @ 2019-01-21 16:47 12oz 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 算法 从语言的角度看: 容器 Container 是一个class template 算法 Algorithm 是一个function template 迭代器 Iterator 是一个class template 函数式 Functor 是一个class template 适配器 Adapter 阅读全文
posted @ 2019-01-14 14:05 12oz 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 容器rb_tree Red Black tree(红黑树)是平衡二叉搜索树(balanced binary search tree)中常被使用的一种。平衡二叉搜索树的特点:排列规则有礼 search 和 insert,并保持高度平衡—————无任何节点过深。 rb_tree提供“便利”操作及iter 阅读全文
posted @ 2019-01-08 16:35 12oz 阅读(810) 评论(0) 推荐(0) 编辑
摘要: SLT简介 STL(Standard Template Library),即标准模板库,是一个高效的C++程序库。包含了诸多在计算机科学领域里常用的基本数据结构和基本算法。为广大C++程序员们提供了一个可扩展的应用框架,高度体现了软件的可复用性。其核心思想就是泛化编程(generic program 阅读全文
posted @ 2019-01-07 18:24 12oz 阅读(5545) 评论(0) 推荐(0) 编辑