非阻塞IO(non blocking IO) Linux下,可以通过设置socket使其变为non blocking。当对一个non blocking socket执行读操作时,流程是这个样子: 从图中可以看出,当用户进程发出read操作时,如果kernel中的数据还没有准备好,那么它并不会bloc ...
分类:
其他好文 时间:
2019-10-13 10:45:38
阅读次数:
79
网络编程之IO模型——非阻塞IO 非阻塞IO(non blocking IO) Linux下,可以通过设置socket使其变为non blocking。当对一个non blocking socket执行读操作时,流程是这个样子: 从图中可以看出,当用户进程发出read操作时,如果kernel中的数据 ...
分类:
其他好文 时间:
2019-09-28 16:19:22
阅读次数:
119
1.TornadoTornado:python编写的web服务器兼web应用框架1.1.Tornado的优势轻量级web框架异步非阻塞IO处理方式出色的抗负载能力优异的处理性能,不依赖多进程/多线程,一定程度上解决C10K问题WSGI全栈替代产品,推荐同时使用其web框架和HTTP服务器1.2.To ...
分类:
其他好文 时间:
2019-09-23 12:01:11
阅读次数:
86
初识: java 中的 BIO、NIO和 AIO 理解为是 Java 语言对操作系统的各种 IO 模型的封装。程序员在使用这些 API 的时候,不需要关心操作系统层面的知识,也不需要根据不同操作系统编写不同的代码。只需要使用Java的API就可以了。 在讲 BIO,NIO,AIO 之前先来回顾一下这 ...
分类:
编程语言 时间:
2019-09-22 23:58:57
阅读次数:
215
从Java 1.4开始,Java提供了新的非阻塞IO操作API,用意是替代Java IO和Java Networking相关的API。 NIO中有三个核心组件: Buffer缓冲区 Channel通道 Selector选择器 一、Buffer缓冲区 缓冲区本质上是一个可以写入数据的内存块(类似数组) ...
分类:
编程语言 时间:
2019-09-15 19:58:42
阅读次数:
141
IO操作 同步和异步IO 阻塞和非阻塞IO 同步与异步(线程间调用) 阻塞与非阻塞(线程内调用) 同步与异步调用/线程/通信 四种组合方式 ...
分类:
其他好文 时间:
2019-09-07 10:29:28
阅读次数:
104
BIO:同步阻塞IO(平常说的IO指的是BIO)NIO:同步非阻塞IOAIO:异步非阻塞IO io操作分为两部分,发起io请求,和io数据读写。 阻塞、非阻塞主要是针对线程发起io请求后,是否立即返回来定义的,立即返回称为非阻塞io,否则称为阻塞io。 同步、异步主要针对io数据读写来定义的,读写数 ...
分类:
其他好文 时间:
2019-08-31 11:05:32
阅读次数:
91
BIO/NIO/AIO区别 首先需要区分几个概念 1. IO分为内存IO/网络IO/磁盘IO,磁盘IO都是阻塞的 2. 阻塞与非阻塞是通过代码来实现的,区别在于是在于发过来操作请求,数据准备好才返回(阻塞)还是直接返回(非阻塞) 3. IO读取顺序:磁盘(磁盘IO)/网卡(网络IO)— 内核缓冲区 ...
分类:
其他好文 时间:
2019-08-28 11:04:27
阅读次数:
91
1.基本操作 2.自定义开源组件 - session - form表单验证(*) 3.自定义异步非阻塞web框架 C10k问题: 新到来一个TCP连接,就需要分配一个进程。假如有C10K,就需要创建1W个进程,可想而知单机是无法承受的。那么如何突破单机性能是高性能网络编程必须要面对的问题,进而这些局 ...
分类:
其他好文 时间:
2019-08-23 13:11:01
阅读次数:
86
高级IO: 五种IO模型:阻塞IO; 非阻塞IO; 信号驱动IO;异步IO;多路转接IO IO操作分为两个过程:等待/数据拷贝 阻塞IO: 发起IO调用后,若不具备IO条件,则等待IO条件具备,拷贝数据后返回 非阻塞IO: 发起IO调用后,若不具备IO条件,则立即报错返回,若具备IO条件则立即拷贝数 ...
分类:
其他好文 时间:
2019-08-23 00:10:56
阅读次数:
89