
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文通过多个 C++ 多线程示例介绍死锁是如何产生的,并讲解统一加锁顺序、std::lock、std::scoped_lock 和 try_lock 等常见解决方法。
的作用是防止头文件被重复包含。它的核心思想就是:第一次包含头文件定义一个宏再次包含头文件发现宏已经存在跳过整个头文件内容一个头文件无论被 include 多少次,内容只会编译一次。这就是 C++ 中非常基础但非常重要的头文件保护机制(Header Guard)。
本文结合生产者—消费者模型讲解 std::condition_variable 的工作原理,重点分析 wait()、谓词、notify_one()、notify_all() 以及为什么条件变量必须配合 unique_lock 使用。
本文继续学习网络缓冲区设计,重点分析 Ring Buffer 环形缓冲区的具体实现。通过 size、head、tail 和连续内存区域实现数据循环存储,并结合 2 的幂容量、位运算取模、跨数组尾部写入与读取、数据搜索等操作,理解一个完整网络 Ring Buffer 的工作过程。
本文主要总结 C++ 面试中常见的 STL 容器 `vector`、`map` 和 `unordered_map`,结合代码示例分析它们的基本用法、底层结构、时间复杂度、使用场景以及常见面试问题,帮助初学者快速理解并掌握 STL 高频考点。
本文主要总结 C++11 中常见的高频知识点,包括 auto、lambda 表达式、智能指针、右值引用、std::move 以及 C++11 线程库。文章结合代码示例说明这些特性的基本用法、适用场景和常见面试问题,帮助初学者理解现代 C++ 中常用的新特性。
本文基于 C++/Qt 使用 QTcpSocket 手动实现 MQTT 客户端,从 Broker、Topic、发布/订阅等核心概念出发,讲解 MQTT 测试工具的连接、订阅、发布、接收消息与日志记录流程。
WebSocket 和普通 HTTP 最大的区别在于:HTTP 更偏向“一次请求,一次响应”,而 WebSocket 是“建立长连接后,双方都可以随时发送消息”。1. 使用 QWebSocket 作为客户端对象2. 输入 ws:// 或 wss:// 地址3. 调用 open(url) 连接服务器4. 连接成功后通过 sendTextMessage() 发送文本消息5. 通过 textMessag
本文结合代码讲解 MySQL 连接池如何通过互斥锁管理同步连接,并分析空闲连接的查找、SQL 执行以及连接归还的完整流程。
本文基于 C++/Qt 使用 QTcpSocket 手动实现 MQTT 客户端,从 Broker、Topic、发布/订阅等核心概念出发,讲解 MQTT 测试工具的连接、订阅、发布、接收消息与日志记录流程。








