Linux 服务器开发
文章平均质量分 85
@马云
先天cpp代码圣体
展开
-
c++使用ppconsul库实现Consul服务注册与发现集成
Consul是一个用于服务发现、健康检查和动态配置的工具,使得分布式系统中的服务能够轻松地相互发现和通信。ppconsul是一个用于C++的库,为开发者提供了与Consul进行交互的简单而强大的接口。原创 2024-03-15 10:11:38 · 2331 阅读 · 1 评论 -
探索 Linux 下的内存映射(mmap):原理、应用与实践
本文将深入探讨 Linux 操作系统下的内存映射技术(mmap),从基本原理到实际应用,全方位介绍 mmap 在系统编程中的重要性和灵活性。我们将解释 mmap 的工作原理,探讨它在提高 I/O 性能、共享内存、进程间通信等方面的应用,以及如何在实际项目中正确、高效地使用 mmap。无论您是系统编程新手还是有经验的开发者,本文都将为您提供深入理解 mmap 的视角和实用技巧。原创 2024-03-07 10:44:08 · 4027 阅读 · 0 评论 -
深入了解惊群问题:Accept、Epoll及Nginx的优化策略
惊群现象是在多进程/多线程并发编程中出现的一种性能问题。它通常发生在多个进程或线程等待某个事件的时候,当这个事件发生时,所有等待的进程或线程都被唤醒,即使只有一个进程或线程实际上需要处理这个事件。这种情况导致了额外的资源竞争、消耗和性能下降。原创 2023-12-16 19:13:53 · 2443 阅读 · 0 评论 -
C++单元测试GoogleTest和GoogleMock十分钟快速上手(gtest&gmock)
gtest是Google开源的一个跨平台的(Liunx、Mac OS X、Windows等)的 C++ 单元测试框架,可以帮助程序员测试 C++ 程序的结果预期。它提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”等等。另一方面,gmock并不是一个独立的测试框架,而是gtest的辅助框架,主要用于模拟没有实现的类的操作,以便在没有完整类的情况下进行测试。通过配合使用gtest和gmock,开发者可以编写出更为复杂且健壮的C++单元测试。原创 2023-10-28 19:42:18 · 3073 阅读 · 0 评论 -
Linux 下的五种 IO 模型详细介绍
根据上述定义,我们的前4种模型——阻塞式I/O模型、非阻塞式I/O模型、I/O复用模型和信号驱动式I/O模型都是同步I/O模型,因为其中真正的I/O操作(recvfrom )将阻塞进程。异步请求:A调用B,B的处理是异步的,B在接到请求后先告诉A我已经接到请求了,然后异步去处理,处理完之后通过回调等方式再通知A。和上面的阻塞IO模型相比,非阻塞IO模型在内核数据没准备好,需要进程阻塞的时候,就返回一个错误,以使得进程不被阻塞。阻塞请求:A调用B,A一直等着B的返回,别的事情什么也不干。原创 2023-10-07 20:33:37 · 1703 阅读 · 1 评论 -
C++服务器开发之定时器设计方案
定时器应⽤:1.⼼跳检测 2.技能冷却 3.武器冷却 4.倒计时 5.其它需要使⽤超时机制的功能原创 2023-10-06 17:58:35 · 857 阅读 · 3 评论