作者:蒸汽

网络IO-select/poll/epoll详解与对比/事件驱动模型reactor

一、网络IO请求 网络I/O请求是指在计算机网络中,向其他主机或服务器发送请求或接收响应的操作。这些请求可以包括获取网页、下载文件、发送电子邮件等。网络I/O请求需要使用合适的协议和通信方式来进行数据传输,例如HTTP、FTP、SMTP等。 要完成一个完整的 TCP/IP 网络通信过程,需要使用一系

蒸汽 发布于 2024-11-07

设计模式精进

定义 设计模式是什么:解决特定环境下,重复出现的,特定问题的解决方案(解决问题的固定套路) 场景 具体需求既有稳定点,又有变化点,希望修改少量的代码,就可以适应需求的变化 全是稳定点,变化点都不适合用设计模式

蒸汽 发布于 2024-11-07

智能指针

为什么需要智能指针? 智能指针主要解决以下问题: 内存泄漏:内存手动释放,使用智能指针可以自动释放malloc free; new delete 共享所有权指针的传播和释放,比如多线程使用同一个对象时析构问题 使用普通指针,容易造成堆内存泄露(忘记释放),二次释放,程序发生异常时内存泄露等问题等,使

蒸汽 发布于 2024-11-07

分布式版本控制Git

git git定义:分布式版本控制工具 github定义:代码托管平台 作用: 1.保存文件的所有修改记录

蒸汽 发布于 2024-11-07

Makefile文件管理

Makefile 1.makefile基础规则 makefile: 管理项目。 命名:makefile Makefile --- make 命令 1 个规则: 目标:依赖条件 (一个tab缩进)命令 1. 目标的时间必须晚于依赖条件的时间,否则,更新目标 ​ 2. 依赖条件如果不存在,找寻新的规则去

蒸汽 发布于 2024-11-07

随处可见的红黑树

红黑树 红黑树的应用场景 # c++ stl map,set(红黑树的封装) # 进程调度cfs(用红黑树存储进程的集合,把调度的时间作为key,那么树的左下角时间就是最小的) # 内存管理(每次使用malloc的时候都会分配一块小内存出来,那么这么块就是用红黑树来存,如何表述一段内存块呢,用开始地

蒸汽 发布于 2024-11-07

C++11实现线程池

本文使用C++11实现实现线程池,涉及的技术如下: 可变参数 std::future decltype packaged_task bind 支持可变参数列表 支持获取任务返回值 线程池的设计流程 设计线程池类。

蒸汽 发布于 2024-11-07

Linux系统运行时命令--网络IO性能监测

网络IO性能监控 5 网络IO性能监控 5.1 性能指标 通常用带宽、吞吐量、延时、PPS(Packet Per Second)等

蒸汽 发布于 2024-11-06

Linux运行时参数命令--文件IO

文件IO性能监控 4 文件IO性能监控 写入速度 读取速度 写入次数 读取次数 io等待时间 时间越大说明文件操作频繁 磁盘的统计参数

蒸汽 发布于 2024-11-06

Linux系统运行时命令--基础命令和工具

1.Linux基础命令和工具 1.1 grep搜索字符 grep 命令用于在文件中执行关键词搜索,并显示匹配的效果。部分常用选项

蒸汽 发布于 2024-11-06