0%
快速排序细节分析
发表于
更新于
本文字数:
12k
阅读时长 ≈
11 分钟
在翻看C++标准库源码的时候,突然发现std::sort的实现和我想的很不一样,并不是简单的快排
在查询了一些资料以后,大致搞明白了这个introsort的原理
这篇写的很好:知无涯之std::sort源码剖析
另外就是STL源码分析那一本写的很好,不是本文的重点,简单过一下,我的gcc版本是5.4.0
introsort原理
tars日志库源码分析
发表于
更新于
本文字数:
8.5k
阅读时长 ≈
8 分钟
tars的日志库的类图关系很绕,很容易忘,记录一下备用
源码分析基于tag v3.0.0
首先介绍一下会用到的主要代码路径和功能
1 | TarsCpp/util/include/util/tc_logger.h 日志库头文件 |
taf的日志库从流程上,分初始化,滚动日志,按天日志三部分,暂时只分析了滚动日志相关逻辑
C++11的值类别
发表于
更新于
本文字数:
3.6k
阅读时长 ≈
3 分钟
深入理解条件变量
发表于
更新于
本文字数:
3.1k
阅读时长 ≈
3 分钟
本篇博客会深入分析条件变量实现来理解两个问题:
- 为什么条件变量要配合锁来使用 — 信号丢失问题
- 为什么条件变量需要用while循环来判断条件,而不是if — 虚假唤醒(spurious wakeup)问题
这两个问题不仅是C会遇到,所有语言的封装几乎都不可避免
先区分一下条件和条件变量,条件是指常用情况下,signal线程修改的值,使得cond_wait判断该值后不再阻塞
评论系统的搭建
发表于
更新于
本文字数:
1.6k
阅读时长 ≈
1 分钟
Mysql事务忘记rollback导致的死锁分析
发表于
更新于
本文字数:
4.9k
阅读时长 ≈
4 分钟
访问者模式分析--设计模式
发表于
更新于
本文字数:
8.4k
阅读时长 ≈
8 分钟
c++分析gperftools总结
发表于
更新于
本文字数:
5.9k
阅读时长 ≈
5 分钟
grpc c++使用以及踩坑
发表于
更新于
本文字数:
2.1k
阅读时长 ≈
2 分钟
两个因素想做开源项目:
1 主导开发中间件系统的心愿已经达成,虽然中间磕磕碰碰的踩了很多坑。
但毕竟最终结果是好的。
唯一的遗憾就是没有开源了。
2 之前做了一些小网站,也累积了不少用户,但是对技术的磨练还是太少了。
特别是用户的增长出现瓶颈以后,架构和细节已经没有必要在优化了。这就让人产生了惰性。
认真做一个开源项目,会有bug issue和功能的issue。会有人去推动你不断探究。
我认为这会收获巨大。
具体项目没想好,可能是基础库(偏网络高并发?又一个轮子?),也可能是比较擅长的存储系统。