zoukankan      html  css  js  c++  java
  • 阻塞IO,非阻塞IO,异步IO和非异步IO 的区别

       最近在研究java IO、NIO、NIO2(或者称AIO)相关的东西,有些概念还是要明确下。

       按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO。

    如何区分呢?首先一个IO操作其实分成了两个步骤:

     1、发起IO请求

     2、实际的IO操作

    阻塞和非阻塞IO:在于第一个步骤是否会会被阻塞,如果会则是阻塞IO,否则是非阻塞IO.

    异步和非异步(同步)IO:在于第二个步骤是否会阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO服用、信号驱动IO都是同步IO,如果不阻塞,而是操作系统帮你做完IO操作再将结果返回给你,那么就是异步IO。

      Java NIO是自jdk1.4引入的新特性,之前的IO都是阻塞的,而NIO则是非阻塞式的。

      Java NIO 2.0的主要改进就是引入了异步IO(包括文件和网络)。 

  • 相关阅读:
    西门子SCL读写DB数据
    LeetCode8.字符串转换整数(atoi) JavaScript
    LeetCode8.字符串转换整数(atoi) JavaScript
    WebRequestSugar
    iosblock用法
    datasci
    UINavigationController学习笔记
    iOSTab bar
    自定义tab bar控件 学习资料
    Ios tab Bar 使用方法
  • 原文地址:https://www.cnblogs.com/drcoding/p/4510716.html
Copyright © 2011-2022 走看看