应该从不同角度看libevent的同步/异步、阻塞/非阻塞: IO数量的角度:select出来之前,会阻塞在一个io上,处理完成后再阻塞在下一个io上;之后就是把所有的io fd拿过来,都不阻塞,一个一个fd去询问是否可读,每次询问完后把可读的io fds返回;所以说:libevent是非阻塞的; ...
分类:
其他好文 时间:
2020-05-16 12:46:00
阅读次数:
99
一般流程是先创建或打开一个文件,然后使用mmap进行内存映射。 1. 读取文件 // 打开文件 int fd = open("input.txt", O_RDONLY); // 读取文件长度 int len = lseek(fd,0,SEEK_END); // 建立内存映射 char *addr = ...
分类:
编程语言 时间:
2020-05-01 16:19:49
阅读次数:
176
当服务器出现“open too many files”错误时,应该怎么处理? 答:服务器出现这个错误时,可能是并发连接数太大 File Descriptor(简称fd)太小。 主流操作系统的设计是将TCP/UDP连接采用与文件一样的方式去管理,就是一个连接对应一个fd。 主流Linux系统服务器默认 ...
分类:
其他好文 时间:
2020-05-01 12:31:34
阅读次数:
68
简单理解Linux的1和2操作 fd(file descriptor文件描述符) 在 shell 程式中,最常使用的大概有三个, 分别是: 0 是一个文件描述符,表示标准输入(stdin) ,键盘输入,并返回在前端 1 是一个文件描述符,表示标准输出(stdout),正确返回值 输出到前端 2 是一 ...
分类:
系统相关 时间:
2020-04-28 17:06:21
阅读次数:
66
https://docs.mellanox.com/pages/releaseview.action?pageId=15053848 Prerequisites 1. Install CentOS 7.72. Set up an account to use the Linux Foundation ...
分类:
其他好文 时间:
2020-04-21 16:52:37
阅读次数:
117
reset 丢弃本地所有修改,强行和上游分支保持一致 若仅丢弃某个文件的改动,利用checkout clean 清除未跟踪文件。reset和checkout命令只能丢弃已经在git index里的文件 清除新增的文件或者文件夹 删除未跟踪文件 f 即 file的意思 连同删除未跟踪文件夹 fd 即 ...
分类:
其他好文 时间:
2020-04-18 18:36:15
阅读次数:
94
import turtle as t t.left(60) for i in range(3): t.fd(100) t.right(120) t.fd(50) t.right(60) for i in range(3): t.fd(50) t.right(120) t.done() ...
分类:
其他好文 时间:
2020-04-14 21:05:13
阅读次数:
69
import turtle as t t.seth(30) t.fd(100) t.seth(-90) t.fd(100) t.seth(150) t.fd(100) t.seth(30) t.fd(100/3) t.seth(90) t.fd(100/3) t.seth(-30) t.fd(100 ...
分类:
其他好文 时间:
2020-04-14 20:15:43
阅读次数:
76
Linux系统有的有界面,有的没有只要命令窗口,因此导入外部文件就变得困难,没有可视化的方便。 这里通过挂载u盘进行文件拷贝。 首先挂载u盘:这里以centos为例 1、进入命令行模式下,输入命令 sudo -i,获取root权限。 2、mkdir /usb //创建一个目录,用于挂载U盘 3、fd ...
分类:
系统相关 时间:
2020-04-10 21:09:27
阅读次数:
102
select 是一个 I/O复用模型 select 函数主要调用步骤 1. 设置文件描述符 2. 设置检查范围 3. 设置超时 4. 调用 select 函数 5. 调用结果 fd_set 的一些操作都由以下宏完成 FD_SET(fd, fdsetp) 设置文件描述符 FD_CLR(fd, fdse ...
分类:
系统相关 时间:
2020-04-10 13:30:25
阅读次数:
75