Reator模式是大多数IO相关组件如Netty、Redis在使用时的IO模式,为什么需要这种模式,如何设计来解决高性能并发的呢? 最最原始的网络编程思路就是服务器用一个While循环,不断监听端口是否有新的套接字连接,如果有,就调用一个函数处理,类似: ...
分类:
编程语言 时间:
2018-10-18 13:13:08
阅读次数:
141
GIL全局解释器锁 GIL本质就是一把互斥锁,和所有互斥锁本质一样,都是把并发运行变成串行,以此来控制同一时间内共享数据只能被一个任务修改,进而保证数据安全 保护不同的数据的安全,就应该加不同的锁。例如 IO模式下的就应该用多线程 (打开文件,time.sleep,输入输出等等),而计算相关的就是用 ...
分类:
编程语言 时间:
2018-09-07 20:43:07
阅读次数:
288
1、事件渠道模型。事件渠道为异步IO的原型。 2、IO模式,一次IO调用会经历两个阶段。一、等待数据阶段,将数据从网络或者是磁盘读取到系统内核(kennel) 二、将数据从内核拷贝到进程中。 基于这两个阶段,linux系统下面产生了五种网络网络模式方案。 -阻塞I/O(blocking IO) -非 ...
分类:
编程语言 时间:
2018-08-19 20:13:03
阅读次数:
210
1、读/写IO 读IO就是发指令从磁盘读取某段序号连续的扇区内容。指令一般是通知磁盘开始扇区位置,然后给出需要从这个初始扇区往后读取的连续扇区个数,同时给出动作是读还是写。磁盘收到这条指令就会按照指令的要求读或者写数据。控制器发出这种指令加数据并得到对方回执的过程就是一次IO读或IO写。 一个IO所 ...
分类:
其他好文 时间:
2018-08-19 00:57:02
阅读次数:
210
贴两个超级不错的博客 1.Linux IO模式及 select、poll、epoll详解 2.网络 I/O 模型 ...
分类:
其他好文 时间:
2018-08-06 20:59:55
阅读次数:
144
文档-Linux IO模式详解 1. 概念说明 在进行解释之前,首先要说明几个概念:- 用户空间和内核空间- 进程切换- 进程的阻塞- 文件描述符- 缓存 I/O 1.1 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方) ...
分类:
系统相关 时间:
2018-05-23 01:59:51
阅读次数:
229
1. BIO JDK5之前, JDK的IO模式只有BIO(同步阻塞)问题: 因为阻塞的存在, 需对每个请求开启一个线程. 过多的线程切换影响操作系统性能解决: 使用线程池, 处理不过来的放入队列, 再处理不过来的会触发其他机制问题: 超过线程池数量的请求需要等待 服务端1: 一个请求~一个线程 服务 ...
分类:
编程语言 时间:
2018-05-18 11:23:06
阅读次数:
317
一些概念: 虚拟空间:是进程所看到的所有地址组成的空间。虚拟空间某个进程对所有分配给它的所有物理地址的重新映射。 寻址返回与计算机的位数有关系。分为内核空间与用户空间。针对32位的Linux系统,最高的1G字节为内核空间。最低的3G字节为用户空间。 进程阻塞:这是进程自身的一种主动行为。当进程进入阻 ...
分类:
系统相关 时间:
2018-05-06 01:35:35
阅读次数:
233
参考文献: 1. "深入剖析 redis 事件驱动" 2. "Redis 中的事件循环" 3. "深入了解epoll (转)" 4. "Redis自己的事件模型 ae" 5. "EPOLL(7)" 6. "Linux IO模式及 select、poll、epoll详解" 7. "epoll为什么这么 ...
分类:
其他好文 时间:
2018-04-28 19:32:34
阅读次数:
175
在此感谢前辈们指导,此处是我自己的理解,部分图片和段落来源于http://www.cnblogs.com/alex3714/articles/5876749.htmlhttp://www.cnblogs.com/Anker/p/3254269.html如果在学习过程中遇到了问题,请咨询:2775724349(因为自己时间有限,所以可能不会常回复,但会收集每个星..
分类:
编程语言 时间:
2017-11-05 01:18:22
阅读次数:
286