IO
ranxiaochuan1994
这个作者很懒,什么都没留下…
展开
-
浅谈poll/select epoll的区别
poll/setect,epoll三个命令都是属于内核方法,是内核实现用一个线程监听多个连接的方法,其中epoll是Linux2.6之后引入的一种高效的连接事件监听机制。select原理  select方法是将文件描述符数组从用户控件传入内核空间,内核通过轮询的方式查看所有连接,如何循环一次没有连接事件到底则等待,事件到达后返回。返回之后客户端需要遍历怎个数组,找出产生事件的连接。同时select默认监听的连接数为1024poll原理 poll方法与select方法类似,只不原创 2020-05-08 19:35:29 · 174 阅读 · 0 评论 -
Buffer原理讲解
Buffer详解转载 2020-04-17 09:23:44 · 4525 阅读 · 1 评论 -
java nio---wakeup实现原理
我们都知道select()方法是阻塞的,只有在注册的channel有事件发生时才会返回,但是如果程序需要立即返回怎么办呢,这你就涉及到一个wakeup()方法。该方法的作用就是让select()方法返回。 首先来看一下WindowsSelectorImpl对象的初始化过程//在加载WindowsSelectorImpl类时创建一个管道private final Pipe wakeup...原创 2020-04-16 21:31:24 · 477 阅读 · 0 评论 -
java nio---WindowsSelectorImpl类详解
WindowsSelectorImpl是Java nio 基于windows操作系统的基础类,这篇文章主要讲解两个方法:doSelect(long var1)和implRegister(SelectionKeyImpl var1)WindowsSelectorImpl属性介绍:private final int INIT_CAP = 8; //每个线程处理channel的数量 ...原创 2020-04-16 18:03:54 · 952 阅读 · 0 评论 -
java Nio通道注册源码分析
AbstractSelectableChannel#register(Selector sel, int ops, Object att)public final SelectionKey register(Selector sel, int ops, Object att) throws Closed...原创 2020-04-15 11:56:05 · 171 阅读 · 0 评论 -
IO模型详解
IO模型分类同步与异步IO: 同步与异步是指用户空间和内核空间调用发起方式。同步IO是由用户空间发起的,内核空间被动接受;异步IO是内核空间发起的,用户空间被动接受。阻塞与非阻塞: 阻塞与非阻塞是指在执行io操作期间,用户程序的状态。用户程序执行阻塞IO时会一直阻塞,知道内核空间准备好数据、将数据从内核空间复制到用户空间两个步骤都完成后才返回;用户进程执行费阻塞IO时,程序并不...原创 2020-04-14 21:17:32 · 125 阅读 · 0 评论