• BIO、NIO、AIO的区别


    BIO 同步阻塞IO

    服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销。

    适用于连接数目小,并发小。

    NIO同步非阻塞IO

    服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。用户进程也需要时不时的询问IO操作是否就绪,这就需要用户进行不停的去询问。

    适用连接数目多且连接比较短(轻操作)的架构,比如聊天服务器。

    AIO

    异步非阻塞,用户进程只需要发起一个IO操作然后立即返回,等IO操作真正的完成以后,应用程序会得到操作完成的通知,此时用户进程只需要对数据进行处理就好了,不需要进行实际的IO读写操作,因为真正的IO读取或者写入操作已经由内核完成了。

    适用于链接数目多且连接比较长(重操作)的架构,比如相册服务器。

  • 相关阅读:
    Go Revel
    Go Revel
    Go Revel
    Go Revel
    deployment:声明式的升级应用
    Kubernetes架构及相关服务详解
    Docker 安装MySQL
    日志收集-Elk6
    Jenkins-Multijob plugin多任务串并行
    ansible创建vmware虚拟机
  • 原文地址:https://www.cnblogs.com/yifanSJ/p/16332727.html
Copyright © 2020-2023  润新知