对应c++的各种同步和锁语义,flare实现了协程的同步和锁语义。这也是个人比较关心的,比如mutex可能造成thread睡眠,那么flare是如何实现mutex,不让thread睡眠,只让协程睡眠。
flare协程框架(三)- fiber调度算法
发表于
分类于
协程
flare协程框架(二)- fiber构造与析构
发表于
分类于
协程
std::atomic 真的原子吗?
发表于
分类于
编程语言
标题起得有点唬人,但问题出自公司内的一个陈年老bug,表象是"atomic 不原子"。根本原因是在给原子变量分配内存时出现了跨cacheline分配。具体见下面的例子:
flare协程框架(一)-协程上下文切换分析
发表于
分类于
协程
redis(4)- RDB 实现
发表于
分类于
redis
RDB 是redis持久化方式的一种。 本文介绍其实现原理,内容包括:
- redis 保存 RDB和 加载RDB的方式,SAVE和BGSAVE的实现原理
- RDB自动保存原理
- RDB文件的组成部分
c++复杂链接问题研究
发表于
分类于
编程语言
最近在给公司项目做编译优化,因为编译时间实在是太长了,导致合代码ci效率太低。本文主要是给整改中遇到的一个坑的总结。考虑以下编译case:
其中 liba, libb, libc 均可能是static lib , shared lib。不同的排列组合,可以有不同的结果。有些导致无法编译,有些可以编译但是不能运行。
redis(3) - 数据库
发表于
分类于
redis
本节介绍redis db相关的一些概念,包括redis db的key space,过期key处理, 数据库通知机制。
redis(2)-redis对象和类型编码结构
发表于
分类于
redis
redis(1)-ziplist
发表于
分类于
redis