I/O多路复用(multiplexing)的本质是通过一种机制(系统内核缓冲I/O数据),让单个进程可以监视多个文件描述符,一旦某个描述符就绪(一般是读就绪或写就绪),能够通知程序进行相应的读写操作。 select、poll 和 epoll 都提供的 IO 复用方式。 (1)select,poll实 ...
分类:
其他好文 时间:
2019-06-15 19:01:07
阅读次数:
113
select 1.select能监听的文件描述符个数受限于FD_SETSIZE,一般为1024,单纯改变进程打开的文件描述符个数并不能改变select监听文件个数 2.解决1024以下客户端时使用select是很合适的,但如果链接客户端过多,select采用的是轮询模型,会大大降低服务器响应效率,不 ...
分类:
其他好文 时间:
2019-05-25 00:05:51
阅读次数:
158
IO复用:为了解释这个名词,首先来理解下复用这个概念,复用也就是共用的意思,这样理解还是有些抽象,为此,咱们来理解下复用在通信领域的使用,在通信领域中为了充分利用网络连接的物理介质,往往在同一条网络链路上采用时分复用或频分复用的技术使其在同一链路上传输多路信号,到这里我们就基本上理解了复用的含义,即 ...
分类:
其他好文 时间:
2019-05-08 20:14:50
阅读次数:
141
为什么使用Redis做缓存 MySQL缺点 单机连接数目有限 对数据进行写速度慢 Redis优点 内存操作数据速度快 IO复用,速度快 单线程模型,避免线程切换带来的开销,速度快 一致性问题 读数据的时候首先去Redis里读,没有读到再去MySQL里读,读回来之后更新到Redis里作为下一次的缓存。 ...
分类:
其他好文 时间:
2019-05-05 19:29:24
阅读次数:
205
IO复用是一种机制,一个进程可以监听多个描述符,一旦某个描述符就绪(读就绪和写就绪),能够同志程序进行相应的读写操作。 目前支持I/O复用的系统调用有select,poll,pselect,epoll,本质上这些I/O复用技术是同步I/O技术。在读写事件就绪后需要进程自己负责进行读写,即读写过程是进... ...
分类:
其他好文 时间:
2019-04-17 00:11:29
阅读次数:
156
select 、poll、epoll 都是多路io复用的机制,i/o多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知乡音的程序进行相应的读写操作。但select poll epoll 本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读 ...
分类:
其他好文 时间:
2019-04-09 12:46:44
阅读次数:
151
进程与线程的描述 一个进程至少会创建一个线程,多个线程共享一个程序进程的内存。程序的运行最终是靠线程来完成操作的。线程的数量跟CPU核数有关,一个核最多能发出两个线程。线程的操作主要分为:一:给CPU进行程序命令的执行。二:IO的操作(读取或输出数据)或者请求网络数据。 IO复用形成原因 如果一个I ...
分类:
其他好文 时间:
2019-03-06 15:05:29
阅读次数:
133
进程来完成并发,线程并发 IO复用,协程都是处理并发的方式 socket分为 三步 服务器监听,客户端请求,连接确认, 每次连接都由当前进程来处理,可以通过IO复用来解决这个问题, 这次通过进程来完成并发请求,但是这种方式开销大,消耗较多,频繁的创建和销毁也是耗时 线程并发 IO复用 等下次在贴代码 ...
分类:
Web程序 时间:
2019-03-06 10:40:16
阅读次数:
297
1.外部中断开启步骤 a.初始化IO口为输入 GPIO_Init(); b.使能IO复用功能时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); c.设置与中断线的映射关系 void GPIO_EXTILineConfig(); d.初始化线上 ...
分类:
其他好文 时间:
2018-12-18 20:31:25
阅读次数:
231
title: Uart串口 tags: ARM date: 2018 10 20 16:38:28 Uart串口 和单片机的应用没什么区别,首先设置IO复用,设置波特率和数据位,以及中断相关的,简单的应用测试可以先关掉中断.从下图看到,usb转串口连接到 ,`COM1 Uart0` 程序初始化 | ...
分类:
其他好文 时间:
2018-11-27 01:23:03
阅读次数:
239