基本IO模型

基本IO模型4种:

同步阻塞IO模型:用户进程在发起一个IO操作后,等待IO操作的完成,只有当真正完成IO操作之后,用户进程才能运行。

同步非阻塞IO模型:用户进程在发起一个IO操作后即可返回做其他的,但用户进程需要不断询问IO操作是否就绪。要求用户进程不停地询问,引入了不必要的CPU资源浪费。

异步阻塞IO模型:应用发起一个IO操作之后,不等待内核IO操作完成,等内核完成IO操作之后会通知应用程序,此时通过select系统调用完成,select系统函数本身是阻塞的。使用select函数的一个好处是可以同时监听多个文件句柄,从而提高系统的并发性。

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

Java传统IO模型就属于同步阻塞IO模型,Java NIO模型属于同步非阻塞IO模型。

不知道为什么搜基本IO模型的时候找到好多资料都是关于Unix系统或者Linux系统的网络编程的。

转载于:https://www.cnblogs.com/jassic1016/p/7751026.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值