博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于BIO和NIO的理解与总结(网络IO)
阅读量:3945 次
发布时间:2019-05-24

本文共 447 字,大约阅读时间需要 1 分钟。

BIO:同步阻塞式IO,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。

NIO:同步非阻塞式IO,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。

BIO (Blocking I/O): 同步阻塞 I/O 模式,数据的读取写入必须阻塞在一个线程内等待其完成。线程回收是随机单个回收,只有当前监视的线程运行完毕后才能回收进线程池

NIO (Non-blocking/New I/O): NIO 是一种同步非阻塞的 I/O 模型,提供了 Channel , Selector,Buffer 等抽象。线程回收是有一个单独的监视线程在轮训回收,有跑完的线程就放回线程池,如果当前监视的线程没有跑完则轮循下一个

AIO (Asynchronous I/O): AIO 是异步非阻塞的 IO 模型

转载地址:http://auowi.baihongyu.com/

你可能感兴趣的文章
敏捷的三种误区和五种改进
查看>>
用数字来看某知名B2C网站的发展内幕和隐私
查看>>
vs2010一些设置
查看>>
生活感悟语录
查看>>
用python中htmlParser实现的spider(python spider)
查看>>
在线测速网址
查看>>
mysql中GROUP_CONCAT的应用
查看>>
研发人员的绩效考核
查看>>
Python 3 之多线程研究
查看>>
Python 3中的多线程文件下载类
查看>>
Python库之MySQLdb介绍
查看>>
Python3中利用Urllib进行表单数据提交(Get,Post)
查看>>
Python开发之扩展库的安装指南及Suds(Webservice)的使用简介
查看>>
软件项目管理一点分享
查看>>
iphone程序打包ipa格式
查看>>
Ios开发之Apns功能介绍(应用程序通知)及PHP/Python代码
查看>>
iphone开发的几个Apple官方中文教程地址
查看>>
Algorithms: Kruskal's algorithm and Prim's algorithm for Minimum-spanning-tree
查看>>
Algorithm : Dijkstra's algorithm and Bellmon-Ford Paths algorithm
查看>>
Algorithm: k-nearest neighbors and decison boundary(Cross Validation)
查看>>