摘要: 1. 简介 都是IO多路复用。 可以在一个进程或线程中同时管理多个IO的事件,在相当于在一个点去等待这些事件,收集到事件后,再分别处理。 2. 基本API 2.1. select // 1. 操作fd集 void FD_CLR(int fd, fd_set *set); int FD_ISSET(i 阅读全文
posted @ 2021-06-20 23:51 suntus 阅读(42) 评论(0) 推荐(0) 编辑
摘要: C++标准保证把 std::vector 的元素排列跟数组一样,因此可以这样用: &*my_array.begin() 取到相应的数组. auto it = std::max_element(v.begin(), v.end()) 取到最大元素的iterator std::move() 将变量变为右 阅读全文
posted @ 2021-06-20 23:17 suntus 阅读(39) 评论(0) 推荐(0) 编辑
摘要: IO事件通知机制。 1. 简介 跟poll(2)类似,可以同时监测多个文件描述符上的事件。可以使用水平触发和边沿触发两种模式,可以同时监听大量fd,而且性能很好。 epoll_create(2)创建一个epoll实例,并返回一个fd用于控制该实例。 epoll_ctl(2)添加感兴趣的fd到epol 阅读全文
posted @ 2021-06-20 23:06 suntus 阅读(51) 评论(0) 推荐(0) 编辑
摘要: IO多路复用。 1. 定义 #include <poll.h> struct pollfd { int fd; /* file descriptor */ short events; /* requested events */ short revents; /* returned events * 阅读全文
posted @ 2021-06-20 21:59 suntus 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 大部分都是参考manual 1. 整体介绍 1.1. 信号默认处理动作 Term: 中止进程 Ign: 忽略信号 Core: 中止进程并转储文件 Stop: 暂停进程 Cont: 继续当前暂停的进程 除此之外还可以自定义处理函数,处理函数一般是在当前进程栈,也可以用sigaltstack(2)设置信 阅读全文
posted @ 2021-06-20 21:45 suntus 阅读(140) 评论(0) 推荐(0) 编辑