本博客因为部署在netlify, 所以可能会出现部分图片加载不出来的情况。如有必要请科学上网!

  • GO基础语法

    GO语言并发 基本并发知识 并发和并行 并发:并发主要由切换时间片来实现宏观上的"同时"运行 并行:并行是直接利用多核实现多线程的运行,go可以设置使用核数,以发挥多核计算机的能力 进程和线程 资源分配和调度: 进程是程序...
  • Ubuntu配置Aria2

    docker-compose设置代理 每次配置docker环境都要google查询资料配置代理,实在是麻烦费时。干脆记录一下配置方法,后面再也不想花大把时间配环境了。 此处主要是docker-compose的代理,适用于通过docker-compos...
  • Ubuntu配置Aria2

    安装aria2 Ubuntu/Debian: 1sudo apt install CentOS/Fedora: 1sudo yum install aria2 Arch/Manjaro: 1sudo pacman -S aria2 ...
  • clang-format配置

    clang-format配置 自用 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758...
  • GO基础语法

    本篇主要用于记录GO的基础语法, 如果哪一天我生疏了可以通过这篇文章快速回忆 基础语法 123456789101112131415161718192021222324252627282930313233343536373839404142434445...
  • HTTP/HTTPS协议详解

    HTTP概述 HTTP 是一种用作获取诸如 HTML 文档这类资源的协议。它是 Web 上进行任何数据交换的基础,同时,也是一种客户端—服务器(client-server)协议,也就是说,请求是由接受方——通常是 Web 浏览器——发起的。完整网页文...
  • std::function详解

    基本概念 std::function 是一种通用的、多态的 函数封装器,可以存储、复制和调用任何可调用对象(如函数、函数指针、成员函数指针、lambda表达式等)。其基本语法如下: 123456int foo(int a, std::string s...
  • std::ref和std::cref

    为什么需要引用封装 先看一段代码: 12345678910111213#include <thread>void increment(int &x) { x++;}int main() { ...
  • 设计模式之桥接模式

    桥接模式 桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与其实现部分分离,使它们都可以独立变化。这种模式有时也被称作柄体(Handle and Body)模式或接口隔离模式。它的主要目的是将抽象层与实现层解耦,使得两者可以...
  • 基于时间轮的定时器

    之前实现的基于升序链表的定时器虽然能实现定时的功能,但是存在一个很明显的缺点:当定时器数量多时,插入一个定时器的时间复杂度时O(n),因为需要保持链表升序。而删除一个定时器的时间复杂度是O(1)(链表是双向的)。于是出现了基于时间轮的定时器, 123...
/7