• BIO、NIO、AIO的区别


    BIO 同步阻塞IO

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

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

    NIO同步非阻塞IO

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

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

    AIO

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

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

  • 相关阅读:
    解决html2canvas插件object-fit样式不生效问题
    七牛云视频获取视频封面和缩略图
    实现一个简单拖拽
    elementui遮罩层下方内容禁止滑动
    echars适配代码
    修改vue项目页面的title
    用div实现textarea
    判断手机端和pc端
    angular的跨域
    angular的文件上传
  • 原文地址:https://www.cnblogs.com/yifanSJ/p/16332727.html
Copyright © 2020-2023  润新知