`
hqman
  • 浏览: 363140 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

复习一下几个IO模型

 
阅读更多

 

非阻塞式IO non blocking IO

 

异步IO  asynchronous IO

 

阻塞 是指 一个系统调用 到 内核完成系统调用到 数据返回COPY到用户内存 这个阶段 进程被阻塞

 

不阻塞是 一个系统调用 完成后立即返回 到内核准备好返回数据时 告诉进程 然后进程copy  数据到用户内存(这个阶段要被阻塞)

 

异步模式  从系统调用开始 到 内核返回结果 copy数据到用户 内存都不阻塞

 

区别:

non-blocking IO 需要进程 主动去 问内核 是否准备好返回   当准备好以后 也需要进程主动recvfrom 把数据复制到用户内存

而asynchronous IO 把整个IO 过程都交给内核来处理 直到最后系统给它发 完成信号通知

 

参考:http://hi.baidu.com/penzo/blog/item/81c3e1ad062d25074a36d66d.html

分享到:
评论

相关推荐

    JAVA课程总复习

    此PPT可能包括以下几个方面: 1. **Java简介**:介绍Java的历史、特点、平台和应用领域,以及它为何成为企业级开发的首选语言。 2. **语法基础**:讲解变量、数据类型、运算符、流程控制语句(如if-else、switch、...

    Java期末复习资料

    复习Java时,应重视以下几个关键点: - **基础语法**:理解并掌握Java的基本语法结构,如声明变量、控制流程、函数定义等。 - **面向对象**:理解类和对象的概念,知道如何进行封装、继承和多态。 - **集合框架**:...

    java复习资料2,java复习资料2

    Java的学习涵盖了众多主题,包括但不限于以下几个方面: 1. **基础语法**:Java的基础包括数据类型(如整型、浮点型、字符型和布尔型)、变量、运算符、控制结构(如if语句、switch语句、for循环和while循环)、...

    JAVA复习资料...

    复习资料的重点通常包括以下几个部分: 1. **JAVA基础**:这部分内容会介绍JAVA的基本语法,包括变量、数据类型、运算符、流程控制(如if语句、switch语句、循环结构)以及方法的定义与调用。 2. **类与对象**:...

    java复习

    在这个复习过程中,我们将探讨几个关键的知识点,包括基础语法、面向对象编程、异常处理、集合框架、多线程、输入输出(I/O)以及常用的开发工具。 首先,让我们从Java的基础语法开始。Java是一种静态类型的、面向...

    java培训考试复习题库

    在复习过程中,考生可以重点关注以下几个Java知识点: 1. **Java基础语法**:包括数据类型(如整型、浮点型、字符型和布尔型)、变量声明、运算符、流程控制语句(如if-else,switch,for,while等)以及方法的定义...

    面试快餐几个图一目了然-临阵补仓.zip

    【标题】"面试快餐几个图一目了然-临阵补仓.zip" 是一个压缩文件,根据其命名,我们可以推测这是一份针对求职面试准备的资料,特别关注Java相关的知识。这种类型的资源通常包含一系列图表,用简洁明了的方式帮助面试...

    Java复习合集.zip

    在这个目录下,可能包含以下几个部分: 1. **src**:源代码目录,其中可能有Java源文件,比如`.java`文件,这些文件包含了用Java编写的函数和类。 2. **Test**或**tests**:测试代码目录,通常用于存放JUnit测试或...

    2021最新Java面试题及答案V2.0.pdf

    Java IO提供阻塞IO模型、非阻塞IO模型、多路复用IO模型、信号驱动IO模型和异步IO模型等。Java NIO在JDK 1.4中引入,提供了比传统Java IO更多的性能。NIO的主要特点是基于通道(Channel)和缓冲区(Buffer)的I/O操作...

    计算机组成原理复习资料

    本复习资料主要涉及以下几个核心知识点: 1. **计算机系统组成**:计算机系统由硬件和软件两大部分构成。硬件包括计算机实体部分如主机、外设,而软件则包括系统软件和应用软件。系统软件负责管理整个系统,包括...

    JAVA核心知识点整理.pdf

    Java的IO/NIO部分讲解了阻塞IO模型、非阻塞IO模型、多路复用IO模型、信号驱动IO模型和异步IO模型,这些都是I/O操作的模式,每种模式都有其不同的特点和适用场景。NIO的引入是为了提供更好的I/O性能,它包括了缓冲区...

    达内javaPPT课件+java面试基础复习

    面试复习部分,可能会重点考察以下几个方面: 1. 数据结构与算法:理解常见的数据结构(如栈、队列、链表、树、图)及其操作,以及算法(排序、查找)的时间复杂度分析。 2. 面向对象设计:设计原则、设计模式,例如...

    JAVA复习材料

    首先,源码分析部分可能涉及到以下几个方面: 1. **Java基础**:复习Java的基础语法,如数据类型、控制流、类与对象、继承、接口、异常处理等。理解这些基础概念是进一步深入学习的前提。 2. **集合框架**:深入...

    二级java复习资料.docx

    二级Java考试复习时,需要重点掌握以下几个关键知识点: 1. **布局管理器**:Java中的组件布局管理器对于GUI设计至关重要。BorderLayout是Window、Frame、JApplet和Dialog的默认布局,它将组件按照东、西、南、北、...

    JAVA考试复习内容精选

    针对"JAVA考试复习内容精选",我们可以从以下几个核心知识点进行深入探讨: 1. **JAVA基础语法**:包括变量声明、数据类型(基本类型与引用类型)、运算符、流程控制(条件语句、循环语句)、数组等。这是学习JAVA...

    2017JAVA中级复习题

    针对2017年Java中级考试的复习,我们需要关注以下几个核心知识点: 1. **基础语法**:这是Java学习的基石,包括变量声明、数据类型、运算符、控制流(如if语句、for循环、while循环)、数组以及方法的定义和调用。 ...

    嵌入式软件复习资料

    以上所述内容涵盖了嵌入式软件开发中的几个关键知识点,包括标准I/O与文件I/O的区别、如何判断文件结尾、静态库与动态库的特性、死锁的概念及避免方法、虚拟内存和Swap的基本原理以及常见的进程间通信方式。...

    (完整word)2019年9月全国计算机二级考试复习题.doc

    为帮助考生有效复习,本文将针对几个关键知识点进行详细解析。 首先,计算机程序的执行流程对理解计算机工作原理至关重要。计算机不能直接理解高级编程语言,因此,一个高级语言源程序必须通过编译过程,才能生成...

Global site tag (gtag.js) - Google Analytics