一、基本概念 IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合: (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。 (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 (3)如果一个TC ...
分类:
其他好文 时间:
2018-12-16 23:21:18
阅读次数:
203
IO模型介绍 阻塞IO 非阻塞 多路复用 异步 IO模型比较分析 selectors 阻塞IO:之前写的所有的socket,recv,accput都是 阻塞原理: 其实多数时间多用到了等待数据那里. 非阻塞IO:当你需要数据时,你给系统要系统知道没有数据,但他会反馈给你,没有数据,代码继续向下走 多 ...
分类:
其他好文 时间:
2018-12-14 01:07:14
阅读次数:
146
目录(图片来自于网络) 多路复用Linux环境下底层机制 多路复用模式Reacotor和Proactor BIO,NIO,AIO的简单介绍 多路复用Linux环境下底层机制 多路复用模式Reacotor和Proactor Reactor和Proactor模式的主要区别就是真正的读取和写入操作是由谁来 ...
分类:
编程语言 时间:
2018-12-13 22:15:59
阅读次数:
258
1配置文件#worker进程数,通常设置成和cpu的数量相等worker_processesauto;#设置worker进程最大文件打开数;避免出现toomanyopenfilesworker_rlimit_nofile65535;#nginx的pid文件目录pid/var/run/nginx.pid;#events模块:处理所有连接的设置events{#多路复用IO(uname-a查看linux
分类:
系统相关 时间:
2018-12-12 18:55:52
阅读次数:
235
文章汇总:https://www.cnblogs.com/dotnetcrazy/p/9160514.html 目录: 3.2.概念篇 1.同步与异步 2.阻塞与非阻塞 3.五种IO模型 4.Unix图示 3.3.IO多路复用 1.Select 2.EPoll 3.通用写法(Selector) 上篇 ...
分类:
其他好文 时间:
2018-12-12 14:52:58
阅读次数:
192
原文:一文读懂阻塞、非阻塞、同步、异步IO介绍 在谈及网络IO的时候总避不开阻塞、非阻塞、同步、异步、IO多路复用、select、poll、epoll等这几个词语。在面试的时候也会被经常问到这几个的区别。本文就来讲一下这几个词语的含义、区别以及使用方式。Unix网络编程一书中作者给出了五种IO模型:... ...
分类:
其他好文 时间:
2018-12-10 18:22:55
阅读次数:
323
一、进程: 一 基础概念: 1、进程的定义: 进程本身是一个抽象的概念,进程是操作系统资源分配的基本单位,是正在进行的一个过程或者说一个任务,负责执行任务的是cpu。 2、并行与并发: 假设计算机只有一个cpu,由于一个cpu在同一时间只能执行一个任务,那么当有多个任务想同时运行按道理那么需要多个c ...
分类:
编程语言 时间:
2018-12-07 12:04:15
阅读次数:
259
一、epoll epoll 参考链接: https://www.cnblogs.com/Alanpy/articles/5125986.html epoll 参考链接: https://www.cnblogs.com/maociping/p/5132583.html 二、 selectors 模块 ...
分类:
编程语言 时间:
2018-12-06 14:19:43
阅读次数:
229
1、基本原理 采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络IO的时间消耗) (1)为什么不采用多进程或多线程处理? (2)单线程处理的缺点? 2、Redis不存在线程安全问题? Redis采用了线程封闭的方式,把任务封闭在一个线程,自然避免了线程安全问题,不过对于需要 ...
分类:
编程语言 时间:
2018-12-05 20:32:12
阅读次数:
190
一、 IO模型 五种IO模型: blocking IO :阻塞IO nonblocking IO 非阻塞IO IO multiplexing IO多路复用 signal driven IO 信号驱动IO asynchronous IO 异步IO 对于一个network IO,它会涉及到两个系统对象, ...
分类:
其他好文 时间:
2018-12-04 22:28:32
阅读次数:
238