IO 介绍 IO 模型 IO请求 分为两个阶段:等待资源 和 使用资源; IO请求:一般需要请求特殊资源(如 磁盘、RAM 或文件),当资源被上一个使用者使用没有释放的时候, IO请求会被阻塞,直到资源可用。 等待资源 阶段有两种策略: 阻塞:当IO请求资源没有准备好的时候,请求阻塞,直到得到资源的 ...
分类:
编程语言 时间:
2019-04-07 12:59:36
阅读次数:
170
一 高性能IO模型 1. 同步IO、异步IO、阻塞IO、非阻塞IO 通过IO模型介绍异步、同步、阻塞、非阻塞的IO看,本节参考文章: https://www.cnblogs.com/euphie/p/6376508.html 这里统一使用Linux下的系统调用recv作为例子,它用于从套接字上接收一 ...
分类:
其他好文 时间:
2019-03-30 18:38:55
阅读次数:
163
这篇博客是本人借鉴一些大神的博客并结合自己的学习过程写下的。 事件驱动模型 事件驱动模型是一种编程范式,这里程序的执行流由外部事件来决定。它的特点是包含一个事件循环,当外部事件发生时,不断从队列里取出事件,根据不同的事件,调用不同的函数,然后通过使用回调机制来触发相应的处理。 IO多路复用 阻塞IO ...
分类:
编程语言 时间:
2019-03-24 17:20:39
阅读次数:
156
首先说一下内核空间和用户空间,操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作kernel,保证内核的安全,操作系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。针对linux操作系统而言,将最高的1G字 ...
分类:
其他好文 时间:
2019-03-16 09:55:44
阅读次数:
238
IO模型 模型就是套路,是解决某个固定问题的方式方法 io模型是解决io问题的方式 io指的是输入输出,输入输设备的速度对比cpu而言是非常慢的,比如recv,input等都属于io操作 io操作最大的问题就是会阻塞程序的执行 io模型要解决的也仅仅是网络io操作 io模型有以下几个: 1 阻塞io ...
分类:
其他好文 时间:
2019-03-12 18:42:21
阅读次数:
146
目录 一.背景知识:http://www.cnblogs.com/linhaifeng/articles/6817679.html 二. python并发编程之多进程 1.进程理论:https://www.cnblogs.com/linhaifeng/articles/7430066.html 2. ...
分类:
其他好文 时间:
2019-03-09 23:18:11
阅读次数:
177
IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同 ...
分类:
其他好文 时间:
2019-03-08 15:13:29
阅读次数:
148
python之IO多路复用 阅读目录 一 IO模型介绍 二 阻塞IO(blocking IO) 三 非阻塞IO(non-blocking IO) 四 多路复用IO(IO multiplexing) 五 异步IO(Asynchronous I/O) 六 IO模型比较分析 七 selectors模块 一 ...
分类:
编程语言 时间:
2019-02-27 17:47:52
阅读次数:
179
一:IO模型介绍 IO发生时涉及的对象和步骤 对于一个网络IO(network IO),它会涉及到两个系统对象,一个是调用这个IO的process (or thread),另一个就是系统内核(kernel)。 当一个read操作发生时,该操作会经历两个阶段: 1)等待数据准备 (Waiting fo ...
分类:
编程语言 时间:
2019-02-24 15:03:36
阅读次数:
197