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
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
fd_set 使用数组实现,在内核中默认实现是 16个大小,但是他是long类型,每个元素64位,所以 16*64 =1024 个,select的瓶颈也就是1024个连接 所以遍历出来的对应数组就可以拿到文件描述符 epoll create 用来生成一个树的根节点、 epoll ctl ...
分类:
其他好文 时间:
2020-04-05 15:08:55
阅读次数:
66
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); struct timeval { long tv_sec; /* seconds */ long ...
分类:
其他好文 时间:
2020-03-02 10:49:30
阅读次数:
55
一、参考网址 1、select函数及fd_set介绍 2、select、poll和epoll的区别 3、利用select实现IO多路复用TCP服务端 4、select应用于read函数 超时非阻塞方式 5、深入理解select、poll和epoll及区别 ...
分类:
其他好文 时间:
2020-02-27 16:24:08
阅读次数:
66
一.开发语言 二.纯内存访问 三.单线程 四.非阻塞多路I/O复用机制 前言 Redis是一种基于键值对(Key-Value)的NoSQL数据库 ,Redis的Value可以由String,hash,list,set,zset,Bitmaps,HyperLogLog等多种数据结构和算法组成。 Red ...
分类:
其他好文 时间:
2020-02-19 13:33:46
阅读次数:
92
epoll详解 什么是epoll? epoll是为处理大批量句柄而作了改进的poll, 是性能最好的多路I/O就绪通知方法; 只有三个系统调用: epoll_create, epoll_ctl, epoll_wait; epoll_ctl - epoll的事件注册函数,它不同于select()是在监 ...
分类:
其他好文 时间:
2020-01-15 11:37:28
阅读次数:
76
三种IO复用类型 #include<sys/select.h> int select(int nfds, fd_set* readfds, fd_set* writefds, fd_set* execptfds,struct timeval* timeout); #nfds表示监听的文件描述符总数; ...
分类:
其他好文 时间:
2019-10-26 13:35:27
阅读次数:
103
2019-10-20 关键字:select 与 poll 在 Linux 系统下,IO 总共可以分为以下四种: 1、阻塞 IO; 2、非阻塞 IO; 3、IO多路复用; 允许同时对多个 IO 进行控制。 4、信号驱动 IO; 一种异步通信模型。前面三种 IO 都是同步型的,唯这一种是异步型的。 阻塞 ...
分类:
系统相关 时间:
2019-10-20 11:07:38
阅读次数:
107
这篇文章将分析libevent如何组织io事件,如何捕捉事件的发生并进行相应的操作。这里不会详细分析event与event_base的细节,仅描述io事件如何存储与如何响应。 1. select libevent的实现io事件的backend实际上使用的是io复用接口,如select, poll, ...
分类:
其他好文 时间:
2019-08-15 19:00:27
阅读次数:
79