
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文介绍了高并发场景下的缓存线程池(CachedThreadPool)设计与实现。该线程池通过动态扩缩容机制,在任务繁忙时创建新线程,空闲时回收多余线程,有效平衡了资源利用率和并发处理能力。核心设计包括:线程安全的任务队列(SyncQueue)实现生产者-消费者模式;工作线程动态管理模块支持超时回收;任务提交接口支持普通任务和异步任务。相比固定线程池,缓存线程池更适合处理大量短期异步任务,但需注意
本文介绍了基于Linux timerfd和epoll的高效定时线程池实现方案。该方案采用分层架构,包含Timer(封装timerfd)、TimerQueue(基于epoll的事件队列)和ScheduledThreadPool(对外接口)三个核心组件,支持单次延迟执行、指定时间点执行和周期性重复执行三种定时模式。相比传统定时方案,具有非阻塞、高精度(微秒级)、线程安全和易扩展等优势,适用于心跳检测、
本文详细解析了基于Reactor模型的C++高性能网络库实现,重点介绍了socket和acceptor模块的设计。socket模块封装了套接字系统调用,提供IP地址转换、非阻塞IO等核心功能;acceptor模块负责连接接收,采用事件驱动机制和idleFd异常处理机制。整套设计体现了RAII资源管理、非阻塞IO、回调机制等高性能网络编程思想,具有安全、高效、健壮的特点,为构建高性能服务端框架提供了
本文介绍了基于Reactor模型的网络框架实现,重点讲解了TcpServer和TcpClient的设计与实现。框架采用主从Reactor多线程架构:主Reactor负责接收新连接,从Reactor线程池处理IO操作。TcpServer实现了连接管理、线程池调度和负载均衡功能;TcpClient支持自动重连、错误处理和线程安全连接获取。文章详细分析了核心组件的代码实现,包括连接建立/关闭回调、消息处
摘要:工作窃取线程池通过为每个线程分配独立任务队列,优先处理本地任务,空闲时从其他线程队列尾部窃取任务,有效解决了传统线程池的锁竞争和负载不均问题。其核心组件WSyncQueue采用双端队列结构,支持任务提交、获取和窃取操作,配合互斥锁和条件变量确保线程安全。该线程池特别适合CPU密集型、可分解的高并发任务,能显著提升多核利用率,但对I/O阻塞型任务效果不佳。实现时需注意任务窃取开销与任务量的平衡
Reactor模型是基于IO多路复用的同步事件驱动架构,通过事件监听与处理分离实现高性能网络通信。核心组件包括句柄、多路复用器、反应堆和事件处理器,采用单线程、多线程或主从多线程三种演进模式。该模型优势在于非阻塞IO、事件驱动、职责分离和无锁设计,单线程即可支撑高并发。相比Proactor模型,Reactor由用户完成IO操作,而Proactor由内核完成。标准架构包含事件源、epoll监听、事件
本文深入解析了Reactor网络编程模型的核心架构与实现。Reactor模型采用事件驱动+IO多路复用+回调分发的机制,通过一个循环等待事件并自动分发处理。标准主从Reactor架构包含:1个主Reactor负责accept连接,多个从Reactor处理已连接套接字IO,线程池处理耗时业务,定时器队列管理定时任务。核心组件包括:EventLoop(事件循环核心)、Channel(事件分发器)、EP
本文介绍了一种基于Reactor模型的高性能定时器实现方案TimerQueue。该方案采用timerfd+epoll事件驱动机制,结合红黑树(std::set)管理定时任务,实现了O(logN)时间复杂度的任务增删查操作。核心设计包含Timer、TimerId和TimerQueue三个组件,通过事件触发机制高效处理定时任务,支持单次定时、循环定时和任务取消功能。系统亮点包括线程安全设计、红黑树自动
本文介绍了基于Reactor模型的网络框架实现,重点讲解了TcpServer和TcpClient的设计与实现。框架采用主从Reactor多线程架构:主Reactor负责接收新连接,从Reactor线程池处理IO操作。TcpServer实现了连接管理、线程池调度和负载均衡功能;TcpClient支持自动重连、错误处理和线程安全连接获取。文章详细分析了核心组件的代码实现,包括连接建立/关闭回调、消息处
本文详细分析了基于Reactor模型的C++高性能网络库中Buffer和TcpConnection两个核心组件的设计与实现。Buffer类采用双指针设计实现高效的应用层缓冲区管理,支持自动扩容、内存紧凑和readv分散读取;TcpConnection类完整封装TCP连接生命周期,通过状态机管理、线程安全机制和智能指针保证连接的可靠性。二者协同工作,通过输入/输出双缓冲区解决非阻塞socket的收发







