几种拥塞控制方法 几种拥塞控制方法1999年公布的因特网建议标准RFC 2581定义了进行拥塞控制的四种算法,即慢开始(slow-start)、拥塞避免(congestion avoidance)、快重传(fast retransmit)和快恢复(fast recovery)。 慢开始发送方维持一个叫拥塞窗口cwnd(congestion window)的状态变量。拥塞窗口的大小取决于网络的拥塞成都,并动态的调整。 2022-03-13 Network 拥塞控制
《Effective C++ 改善程序与设计的55个具体做法》读书笔记 《Effective C++ 改善程序与设计的55个具体做法》读书笔记1 .让自己习惯C++条款01 视C++为一个语言联邦 C Object-Oriented C++ Template C++ STL C++高效编程守则视情况而变化,取决于你使用C++的哪一部分。 条款02 尽量与const,enum,inline替换#define 对于单纯常量,最好以const对象或enums替换#defi 2022-03-11 读书笔记 Effective C++
TCP报文段的首部格式 TCP报文段的首部格式TCP报文段首部的前20字节是固定的,后40字节是可选的。 源端口:16位(2字节),0-65535 目的端口:16位(2字节),0-65535 序号:32位(4字节),0-2^32-1,循环使用 确认号:32位(4字节),循环使用。期望收到对方下一个报文段的第一个数据字节的序号。一般是收到的上一个报文的序号+报文长度+1 数据偏移:4位,0-15,因为选项段的长度未知(0 2022-03-02 TCP Network
static修饰的全局函数能否在其他文件中使用? static修饰的全局函数能否在其他文件中使用?在编译代码的时候发现了一些util头文件中包含一些static全局函数,心中突然冒出一个念头,static全局函数不是不能够在其他文件中使用吗?那么在此头文件中定义的static全局函数有什么用?难道能够编译通过? 稍等片刻之后,真的编译通过了,并且没有给出任何错误! 于是我写了一个小demo测试我的疑惑: //test.h #include &qu 2022-02-24 static
shared_ptr是线程安全的吗? shared_ptr是线程安全的吗?C++11中的shared_ptr是线程安全的吗?先说结论,部分是,部分不是。 shared_ptr自身线程安全性我们首先看一下shared_ptr实现的原理,一个简单的shared_ptr实现如下: //shared_point.h #include <atomic> template<class T> class shared_poi 2021-12-29 智能指针 线程安全
lambda表达式捕获变量的生命周期 lambda表达式捕获变量的生命周期在C++11中,lambda表达式有两种变量捕获方式,分别为值捕获和引用捕获。这两种捕获的形式如下: #include <iostream> int main(int argc, char* argv[]) { int i = 42; auto l1 = [i]() //值捕获 { std 2021-12-26 C++ lambda 生命周期
如何理解操作系统中内存管理分页和分段? 如何理解操作系统中内存管理分页和分段?分段和分页都是操作系统发展过程中为了更好的使用内存资源,按照一路发展的过程理解比较好理解操作系统厂商和CPU厂商带来的系列变化。 保护模式为什么要有保护模式实模式是有很大弊端的,首先,直接操作物理内存,这样的话每次只能运行一个程序,并且不安全;另外,内存最大使用到1M,限制太大。 保护模式下,程序不能直接访问物理地址,程序的虚拟地址需要被转换为物理地址后再去访 2021-12-21 操作系统 内存 分段 分页
程序员的自我修养——链接、装载与库 读书笔记 程序员的自我修养——链接、装载与库 读书笔记第1部分 简介第1章 温故而知新1.1 从Hello World说起#include <stdio.h> int main() { printf("Hello world\n"); return 0; } 程序为什么要编译之后才能运行? 编译器如何把C语言转换成机器码? 编译出来的可执行文件里存 2021-12-21 读书笔记
std::memory_order内存模型 std::memory_order内存模型typedef enum memory_order { memory_order_relaxed, memory_order_consume, memory_order_acquire, memory_order_release, memory_order_acq_rel, memory_order_scq_cst } me 2021-12-20 C++ memory_order 内存模型
const能否用于函数重载? const能否用于函数重载?因为const关键字在函数签名中可以以不同的方式出现,所以分几种不同的情况: const修饰形参,形参为非引用型//test.cpp #include <iostream> void func(int a) { std::cout << "Func signature:" << "f 2021-12-05 C++ const