上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
摘要: 在进行网络IO操作时,用什么样的IO默写来读写数据将在很大程度上决定了网络框架的IO性能。所以IO模型的选择是构建一个高性能框架的基础。 在《Unix网络编程》一书中介绍了五种IO模型,阻塞IO,非阻塞IO,IO多路复用、信号驱动IO,异步IO,每一种IO模型的出现都是对前一种的升级优化。 下面分别 阅读全文
posted @ 2022-03-20 12:52 钟齐峰 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 在高性能网络架构笔记一中,我们聊完了网络数据的接收和发送。本章我们谈一下易混淆的概念:阻塞与同步,非阻塞与异步。 经过前面对网络数据包接收流程的介绍,在这里我们可以将整个流程总结为两个阶段: 数据准备阶段:在这个阶段,网络数据包到达网卡,通过DMA的方式将数据包拷贝到内存中,然后经过硬中断,软中断, 阅读全文
posted @ 2022-03-06 17:01 钟齐峰 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 一、网络收包流程 1、当网络数据帧通过网络传输到达网卡时,网卡会将网络数据帧通过DMA的方式放到缓冲区RingBuffer中。 RingBuffer时网卡启动的时候分配和初始化的环形缓冲队列。当RingBuffer满的时候,新来的数据包就会被丢弃。我们可通过ifconfig命令查看网卡收发数据包情况 阅读全文
posted @ 2022-03-06 13:02 钟齐峰 阅读(733) 评论(0) 推荐(0) 编辑
摘要: 如果遇到相等的值则不进行交换(这种排序方式是稳定的排序方式)。 1、原理:比较相邻的两个元素,将值大的元素交换到右边。 2、思路:依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。完成一趟比较后,最后一个数一定是数组中最大的。所以下一趟排序中最后一个元素不参加比较。依次类推,每一趟比较 阅读全文
posted @ 2022-02-12 17:03 钟齐峰 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 一、介绍 选择排序(Selection sort)是一种简单直观的排序算法。其基本思想是:首先在未排序的数列中查找到最小或最大元素,然后将其存放到数列到起始位置;接着,再从剩余未排序的元素中继续寻找最小或最大的元素,放到以排序序列的末尾。依此类推,直到所有元素排序完毕。 二、图解 以数列{20,40 阅读全文
posted @ 2022-02-12 16:36 钟齐峰 阅读(1453) 评论(0) 推荐(0) 编辑
摘要: 一、直接插入排序 基本思想:每一步将一个待排序的数据插入到当前已经排好序的有序序列中,直到插完所有元素为止。 算法实现:直接插入排序是将无序序列中的数据插入到有序的序列中,在遍历无序序列时,首先拿无序序列中的首元素与有序序列中的每一个元素比较并插入到合适的位置,一直到无序序列中的所有元素插完为止。对 阅读全文
posted @ 2022-02-08 16:33 钟齐峰 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 一、步骤(从小到大排序) 1、在数组中选一个基准数(通常为数组第一个)。 2、将所有比基准值小的值摆放在基准的前面,所有比基准值大的摆放在基准的后面(相同的数可以放到任意一边);在这个分区推出之后,该基准就处于数列的中间位置。 3、递归地把“基准值前面的子数列”和“基准值后面的子数列”进行排序。 下 阅读全文
posted @ 2022-02-02 19:46 钟齐峰 阅读(1088) 评论(0) 推荐(0) 编辑
摘要: 一、部分概念 满二叉树:深度为k,且含有(2^k)-1个节点的二叉树。 完全二叉树:深度为k,又n个结点,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的节点一一对应时,称为完全二叉树。 堆的结构可以分为大根堆和小根堆,是一个完全二叉树。 每个节点的值都大于其左孩子和又孩子节点的值,称之为 阅读全文
posted @ 2022-02-02 13:31 钟齐峰 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 1、安装预备库 更新源:deb https://security.debian.org/debian-security bullseye-security main non-free contribapt install -y build-essential gdb gnupg2 wget auto 阅读全文
posted @ 2021-12-14 16:19 钟齐峰 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 1、C方式 string sourcefilename = "D:\\Logo.jpg"; string destfilename="D:\\Logo1.jpg"; FILE* fp; if ( (fp=fopen(sourcefilename.c_str(), "rb" ))==NULL ) { 阅读全文
posted @ 2021-11-30 12:53 钟齐峰 阅读(1016) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 11 下一页