使用C++协程+liburing实现了一个简单的 HTTP server,并与epoll版本进行了性能对比。测试结果显示,liburing在高并发场景下表现出更优的性能,尤其是在处理大文件时,QPS提升显著。
本文介绍了如何使用Go语言实现一个支持SSH隧道转发的Redis客户端工具。通过SSH隧道转发,可以安全地访问内网的Redis实例,解决了无法直接在公网中访问云上Redis实例的问题。文章详细讲解了SSH隧道转发的原理、Go代码实现以及Redis协议解析,帮助读者理解并应用这一技术。
深入解析同步IO、异步IO、阻塞IO、非阻塞IO及IO多路复用的概念、区别与应用场景,结合C语言代码示例,帮助开发者全面理解Linux网络I/O模型
介绍了如何在C++中结合使用协程和io_uring来实现异步I/O操作。通过一个简单的TCP echo服务器示例,展示了协程如何简化异步编程,提高代码的可读性和维护性。
全面解析C++20协程的原理与实现,涵盖Promise、Coroutine Handle、关键字用法及状态机设计,深入探讨协程的生命周期管理与异常处理。通过详细的代码示例,展示协程在异步编程中的实际应用,帮助开发者掌握C++协程的核心概念与高效使用技巧。
深入探讨C++中的右值引用、std::move和std::forward的使用方法及其实现原理,结合实例讲解RVO(返回值优化)的工作机制,帮助开发者高效管理资源。
C++中变量的生命周期与作用域是有差别的,再结左值引用和右值引用,引用折叠,这次就来浅谈一下C++中变量的生命周期。
介绍了如何实现一个支持泛型和排序功能的链表。首先回顾了Go自带链表的源码,包括Element和List结构体以及insert、remove、move等核心操作函数。接着详细阐述了通过归并排序算法为链表添加排序功能的实现过程,展示了sort、mergeSort和merge等函数的代码,并对比了之前插入排序的实现方式。文章还分析了归并排序的时间复杂度和空间复杂度,探讨了在数据量较大时的适用性。最后总结了此次实现的目的和收获
本文介绍了从 Hexo 到 Hugo 的博客迁移过程,包括配置文件设定、自定义主题、添加阅读进度条、友链页面等实用技巧。涵盖 Stack 主题的自定义样式调整和页面优化,帮助博客作者提升网站加载速度和个性化定制体验。