摘要: epoll 是一种在 Linux 上可用的高性能 I/O 事件通知机制,用于处理大量并发连接。 以下是使用 epoll 进行网络编程的基本步骤: 1. 创建 epoll 实例:使用 epoll_create 函数创建一个 epoll 实例。 2. 添加监听的文件描述符:使用 epoll_ctl 函数 阅读全文
posted @ 2024-01-29 17:17 guanyubo 阅读(376) 评论(0) 推荐(0)
摘要: 目录"##"预处理运算符 "##"预处理运算符 在C++中,## 是一个预处理运算符,被称为“连接符”或“连接运算符”。当它在宏定义中出现时,它将其左右两边的标记(token)连接成一个标记。这在创建宏时特别有用,尤其是当你需要合并两个标记来形成一个新的、有效的标记时。 以下是一些使用 ## 的例子 阅读全文
posted @ 2024-01-28 17:31 guanyubo 阅读(73) 评论(0) 推荐(0)
摘要: 目录简介应用场景与回调函数区别示例 简介 在Linux下,基于事件驱动的机制主要是通过内核实现,主要涉及到消息传递机制。当硬件设备发出中断时,Linux内核会将触发事件的信息转发到对应的进程上,从而使用户态的应用程序可以响应中断信号,提高程序的响应能力。 此外,Linux还提供了多种方式来实现事件驱 阅读全文
posted @ 2024-01-28 08:58 guanyubo 阅读(268) 评论(0) 推荐(0)
摘要: 目录简介如何使用示例 简介 在 Linux 下,I/O 多路复用是一种用于高效处理多个 I/O 操作的技术。它允许一个进程同时监视多个文件描述符或网络套接字,以便在其中任何一个发生 I/O 事件时能够及时响应。 I/O 多路复用的主要目标是提高系统的并发性能和资源利用率。通过同时监听多个 I/O 源 阅读全文
posted @ 2024-01-27 18:04 guanyubo 阅读(67) 评论(0) 推荐(0)
摘要: 目录Reactor模型Proactor模型总结实际应用优缺点示例 Reactor 模型和 Proactor 模型都是用于处理异步 I/O 操作的并发模型,它们在设计和实现上有一些区别。 Reactor模型 Reactor 模型(反应器模型)是一种基于事件驱动的并发模型,主要用于处理网络通信等 I/O 阅读全文
posted @ 2024-01-26 22:13 guanyubo 阅读(663) 评论(0) 推荐(0)
摘要: 在 Linux 系统中,man 是一个命令,用于调用系统的手册页(Manual Pages)以获取命令、函数、文件或概念的详细信息和用法。 手册页是一种文档形式,提供了有关 Linux 系统中各种命令、工具、库函数、文件格式等的详细说明。它们按照特定的章节组织,并分配了不同的编号。 要使用 man 阅读全文
posted @ 2024-01-26 16:32 guanyubo 阅读(182) 评论(0) 推荐(0)
摘要: 目录简介如何遵守?示例 简介 依赖倒置原则(Dependency Inversion Principle,DIP)是软件工程中的一种设计原则,它指出高层模块不应该依赖于底层模块,而是应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。 依赖倒置原则的核心思想是通过抽象来解耦高层模块和底层模块, 阅读全文
posted @ 2024-01-25 15:23 guanyubo 阅读(224) 评论(0) 推荐(0)
摘要: 目录简介如何遵守?示例 简介 接口隔离原则(Interface Segregation Principle,ISP)是软件设计中的一个重要原则,它指出不应该强迫客户依赖他们不需要的接口。具体而言,接口隔离原则要求将一个复杂的系统拆分为多个独立的接口,每个接口只提供与特定功能相关的操作,以避免客户端由 阅读全文
posted @ 2024-01-25 15:16 guanyubo 阅读(160) 评论(0) 推荐(0)
摘要: 目录简介如何遵守?示例 简介 里氏替换原则(Liskov Substitution Principle,LSP)是面向对象编程中的一个设计原则,由麻省理工学院的Liskov于1988年提出。里氏替换原则主张使用“抽象”和“多态”将设计中的静态结构改为动态结构,维持设计的封闭性。这个原则的主要目标是确 阅读全文
posted @ 2024-01-25 15:16 guanyubo 阅读(108) 评论(0) 推荐(0)
摘要: 目录简介如何遵守?反例 简介 开闭原则(Open-Closed Principle,OCP)是软件工程中的一个重要设计原则,它指出软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。 开闭原则的核心思想是,在设计一个软件系统时,应该尽量保持其稳定性和可扩展性。当需要对系统进行扩展或修改时,应该通 阅读全文
posted @ 2024-01-25 14:57 guanyubo 阅读(195) 评论(0) 推荐(0)