Posts

C++和lua层交互的一些设计回顾

项目中通过c++和lua的交互,将大量的业务逻辑交给了非专业的编程人员开发。结合工具的强大的导出能力,将相当大的一部分和玩法和玩法设计相关的工作,交给了技术策划和使用工具的策划。本文稍微回顾下这种设计,以及它实际上和以往c++调用脚本做事情非常不一样的思路。

Redis 6.0之后的多线程实现源码分析

本文主要是介绍redis多线程部分的理解,很久以前看过单线程版本的实现,最近看了几篇文章介绍多线程的原理。有些文章只是讲了些理由,看着有点模糊,对多线程为什么能提升效率,以及准确的执行点还是有点模糊。本文主要从源码阅读的角度,来梳理下其调用链,以及根据代码实现来分析多线程的实现原理和背后的设计。

Libco 协程栈的切换理解

libco协程切换原理解读及简要使用 以前看过libco一点源码,最近组里面分享了一次协程的原理。花了点功夫,借助一点网上的资料,算是摸清楚了libco协程切换的来龙去脉。libco除了协程的切换还涉及系统hook以及相关工程的封装,篇幅及时间限制,这里不涉及。本篇主要把协程切换的来龙去脉以及原理从个人理解角度介绍下。明白和能说出来讲清楚是两种不同的理解程度,这也是本文的主要目的。 函数调用的原理 linux 程序内存布局 传统linux程序(32bit)拥有4G的虚拟内存区域,高1G的区域供内核使用,剩余的3G内存供程序使用。按段划分,主要分程序段(text segement)、数据段、BSS段。BSS段用于未

第一篇博客开启了~

开始维护记录最近的学习过程,博客的目的在于加深理解。保持学习,保持更新。或多或少。