摘要: IO密集服务的设计指北 以消息队列为例 异步编程 异步是指在程序执行过程中,某个操作的执行不会阻塞其他操作的进行。在异步编程中,一个操作的执行通常会在后台进行,而程序可以继续执行其他操作,不需要等待该操作的完成。这种方式提高了程序的效率和响应性。 异步设计如何提升系统性能? 服务大体分为两类 计算密 阅读全文
posted @ 2023-12-20 19:40 YarBor 阅读(99) 评论(0) 推荐(0)
摘要: 文件I/O >缓冲 文件IO的内核缓冲:缓冲区高速缓存 read()和write()系统调用在操作磁盘文件时不会直接发起磁盘访问,而是在用户缓冲区与内核缓冲区高速缓存之间复制数据 例如: 如下调用将3个字节的数据从用户空间传递到内核空间的缓冲区中: write(fd,"asd",3); write( 阅读全文
posted @ 2023-12-20 19:36 YarBor 阅读(117) 评论(0) 推荐(0)
摘要: GDB 常用调试技巧 末尾有总结的命令 1.启动gdb 执行命令 首先,进行编译 $ gcc -g ***** -o test 运行gdb $ gdb test #或者执行 $ gdb -q test # 不打印版本信息 界面较为简洁 如上 即打开了gdb 2.查看源代码 -list 使用命令 li 阅读全文
posted @ 2023-12-20 19:35 YarBor 阅读(48) 评论(0) 推荐(0)
摘要: 进程 进程和程序 进程是一个可执行程序的实例. 程序是包含了一系列信息的文件,这些信息描述了如何在运行时创建一个进程, 所包括的内容如下 二进制格式标识:每个程序文件都包含用于描述可执行文件格式的元信息。(a.out) 机器语言指令:对程序算法进行编码。 程序入口地址:标识程序开始执行时的启始指令位 阅读全文
posted @ 2023-12-20 19:34 YarBor 阅读(65) 评论(0) 推荐(0)
摘要: nlohmann/json 是一个方便易用的 C++ JSON 库,可以实现将 JSON 数据与 C++ 对象相互转换的功能,支持常见的 JSON 数据类型,例如对象、数组、字符串等。 本文将针对 nlohmann/json 的集合和字典功能进行讲解,并介绍如何从 JSON 对象中解析特定字段。 文 阅读全文
posted @ 2023-12-20 19:33 YarBor 阅读(7531) 评论(0) 推荐(0)
摘要: 智能指针 为什么不用裸指针 裸指针在声明中并没有指出,裸指针指涉到的是单个对象还是一个数组。 裸指针在声明中也没有提示在使用完指涉的对象以后,是否需要析构它。换言之,你从声明中看不出来指针是否拥有(own)其指涉的对象。 即使知道需要析构指针所指涉的对象,也不可能知道如何析构才是适当的。是应该使用d 阅读全文
posted @ 2023-12-20 19:33 YarBor 阅读(389) 评论(0) 推荐(0)
摘要: IO密集服务的设计指北 以消息队列为例 异步编程 异步是指在程序执行过程中,某个操作的执行不会阻塞其他操作的进行。在异步编程中,一个操作的执行通常会在后台进行,而程序可以继续执行其他操作,不需要等待该操作的完成。这种方式提高了程序的效率和响应性。 异步设计如何提升系统性能? 服务大体分为两类 计算密 阅读全文
posted @ 2023-12-20 19:31 YarBor 阅读(29) 评论(0) 推荐(0)