摘要:
#ifdef _WIN32 #include <conio.h> #include <windows.h> #else #include <termios.h> #endif #include <iostream> #include <ctype.h> #include <string> #incl 阅读全文
摘要:
一、写在前面 本文尽可能使用最简单和最清楚的逻辑对比select、poll和epoll技术之间的区别,说明I/O多路复用从select发展到epoll到底优化了什么。 注意:1、本文不讲解select、poll和epoll三个系统调用的具体参数;2、未有特殊说明则本文以Linux平台作为基础;3、所 阅读全文
摘要:
原理 1、使用智能指针管理共享资源 2、write端,若引用计数为1,则write端独占资源,若引用计数不为1,则对共享资源备份进行写操作,以确保线程安全 3、read端,读之前引用计数加1,write端此时若并发访问共享资源,则会发现引用计数不为1,write端不会直接写共享资源,确保线程安全 代 阅读全文
摘要:
一、请求报文 GET /index.html HTTP/1.1 HOST: www.example.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chr 阅读全文
摘要:
一、概述 | 运算符 | 描述 | 运算规则 | | | | | | & | 与 | 两位都为1时,结果为1 | | | | 或 | 两位都为0时,结果为0 | | ^ | 异或 | 两位相同为0,相异为1 | | ~ | 取反 | 0变1,1变0 | | >> | 右移 | 各位右移若干位,对于无 阅读全文
摘要:
1、占位符 2、基础类型 阅读全文
摘要:
1、移动光标 | 按键 | 作用 | | | | | h或← | 光标向左移动一个字符 | | j或↓ | 光标向下移动一个字符 | | k或↑ | 光标向上移动一个字符 | | l或→ | 光标向右移动一个字符 | | Ctrl + f或Page Down | 屏幕向下移动一页(常用) | | C 阅读全文
摘要:
一、自旋锁 1、概述 自旋锁(Spin Lock)类似于互斥量,不过自旋锁不是通过休眠阻塞线程(进程),而是在取得锁之前一直处于循环等待的阻塞状态,因此得名“自旋”。自旋锁常作为底层原语实现其他类型的锁。 2、适用场景 1)锁被持有的时间短,而且线程不希望在重新调度上花费太多成本; 2)在非抢占式内 阅读全文
摘要:
1、算法概述 尺取法简单来说是一种利用双指针遍历获取满足条件的区间的算法。其为一种线性算法。记(l, r)为一个序列内以l为起点的最短合法区间,如果有r随l的增大而增大,使用尺取法。具体做法就是不断枚举l,同时求出r,由于r随l增大而增大,所以r只有 n 次变化机会,所以时间复杂度为O(n)。 尺取 阅读全文
摘要:
一、管道(pipe) 1、概述 管道(pipe)又名匿名管道,是一种最基本的 IPC 机制,通过pipe函数创建: #include <unistd.h> int pipe(int pipefd[2]); // 成功返回 0,失败返回 -1 调用pipe函数时,操作系统在内核中开辟一块缓冲区(大小固 阅读全文