logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

解析muduo库对于互斥锁/读写锁/自旋锁/CAS/分布式锁的实现

摘要:muduo是陈硕开发的高性能C++网络库,采用Reactor多线程模型,广泛应用于游戏服务器开发。其同步原语设计特点包括:1)轻量封装Linux系统调用;2)强制RAII机制管理锁生命周期;3)仅支持单机级同步。主要锁类型包括:互斥锁(MutexLock)、读写锁(ReadWriteLock)和自旋锁(SpinLock),均提供对应的Guard类实现自动加解锁。原子操作基于C++11的std

文章图片
#分布式#c++#游戏 +1
结合游戏场景理解,互斥锁,读写锁,自旋锁,CAS / 原子变量,分段锁

本文介绍了C++游戏服务器开发中常用的五种并发同步技术:互斥锁、读写锁、自旋锁、CAS/原子变量和分段锁。这些技术用于解决多线程操作共享资源时的竞态问题,确保数据一致性。互斥锁适用于执行时间较长的临界区;读写锁针对读多写少场景优化;自旋锁适合极短临界区;CAS提供无锁原子操作;分段锁通过资源分片降低锁竞争。文章详细分析了每种技术的特性、适用场景和实现方式,并提供了游戏开发中的典型应用案例,如BOS

文章图片
#c++#游戏#开发语言
MySQL 学过但是全忘了?15min帮你快速复习

本文系统介绍了MySQL数据库的核心知识点,主要内容包括: 数据库基础概念:表结构、数据类型、约束条件 SQL语句分类:DDL(数据定义)、DML(数据操作)、DQL(数据查询)、DCL(数据控制) 查询语法详解:条件查询、排序、分页、模糊查询、聚合函数、分组查询 多表操作:内连接、外连接、子查询 索引原理:索引类型、创建原则、失效场景 事务特性:ACID原则、隔离级别、并发问题 视图应用:创建、

文章图片
#mysql#数据库
vector 三个经典版本

摘要: 本文详细介绍了C++ vector容器的三个演进版本:1)原生朴素版(三指针裸版),采用严格深拷贝,逻辑简单但性能较差;2)写时拷贝版(COW),通过引用计数实现浅拷贝优化,但存在线程安全问题;3)小对象优化版(SBO),结合栈上缓冲区和堆内存动态切换,完美兼顾性能与安全性,成为现代编译器的默认实现。三个版本接口一致但内部机制不同,体现了STL在性能与安全性之间的权衡优化过程。string

文章图片
Linux C++ 多线程

摘要:本文深入讲解Linux C++多线程开发的核心技术与工业级实践。主要内容包括:1)多线程基础原理,包括线程与进程区别、Linux线程实现机制;2)关键API使用与线程安全策略,如互斥锁、条件变量、死锁处理;3)工业级代码实践,采用RAII封装线程、实现生产者消费者模型和线程池;4)高级特性如动态扩容、优雅退出和任务拒绝策略;5)调试工具链(GDB、Valgrind、perf)的使用方法。文章

文章图片
#开发语言#linux#c++
解析muduo源码之 ThreadLocal.h

摘要:ThreadLocal是Muduo网络库中基于pthread_key_t实现的线程局部存储封装类,采用模板设计支持任意C++类型。通过pthread_key_create注册析构函数,确保线程退出时自动释放对象内存;value()方法实现懒加载,线程首次访问时才创建对象。相比__thread关键字,它支持非POD类型和自动析构,但访问效率稍低。使用示例展示了不同线程独立维护std::stri

文章图片
#c++
计算机网络 IP 详解

文章从 IP 基础概念切入,白话讲解 IPv4 的本质、地址分类、公有 / 私有 IP 等核心内容,帮零基础读者快速建立认知;随后聚焦 C++ 开发者必备技能,深入解析字节序转换、IP 格式互转、sockaddr_in结构体等关键知识点,搭配IP 转换、合法性校验、Socket 绑定 IP + 端口三段可直接运行的实战代码,实现理论与落地的无缝衔接;同时,整理了 IP 相关的面试高频考点,涵盖选择

文章图片
#计算机网络#tcp/ip#服务器
muduo http优化 —— 在不更改原本数据监测http上 多支持了功能完善的http1.1

本文基于muduo网络库设计实现了一套高性能HTTP服务器,采用模块化分层架构,支持静态资源、动态路由、中间件扩展等功能。核心优化包括:1)基于Reactor事件驱动模型实现高并发处理;2)采用基数树路由匹配算法提升查找效率;3)通过零拷贝文件传输和智能缓存机制优化静态资源访问;4)支持异步线程池处理耗时任务。测试结果表明,该服务器在长连接场景下QPS达23.6万,性能远超主流Web框架(如Fla

文章图片
#http#网络协议#网络
Linux下敲入一个字母,操作系统到底做了什么?

摘要:Linux系统下键盘输入涉及完整的硬件-内核-用户态交互链路。硬件层通过扫描码触发中断,内核层由输入子系统将扫描码转换为标准字符并存入缓冲区,用户态程序通过系统调用读取。开发中可通过修改终端模式实现实时按键响应,需注意中断处理不可阻塞、内核缓冲机制等关键点。典型应用场景包括嵌入式系统开发、终端工具定制等,正确处理该链路对构建稳定输入系统至关重要。

文章图片
#linux#运维#服务器
解析muduo源码之 TcpServer.h & TcpServer.cc

TcpServer是Muduo网络库中TCP服务器的核心控制器,采用主从Reactor模型实现高性能网络服务。其主要功能包括: 架构设计: 主Reactor(mainLoop)负责接收新连接 从Reactor(IO线程池)处理连接读写 通过轮询方式均衡分配连接 核心机制: 使用Acceptor接收连接 通过EventLoopThreadPool管理IO线程 用ConnectionMap管理所有活跃

文章图片
#c++
    共 30 条
  • 1
  • 2
  • 3
  • 请选择