Java核心学习 —— IO

整个Java IO体系都是基于字符流(InputStream/OutputStream) 和 字节流(Reader/Writer)作为基类,根据不同的数据载体或功能派生出来的。

一、同步、异步、阻塞、非阻塞

1.1 同步与异步

同步和异步关注的是通讯方式。

同步:需要等所有操作完成后,返回结果。
异步:不需要等所有操作完成,返回结果。

1.2 阻塞与非阻塞

阻塞与非阻塞关注的是等待状态。

1.3 例子

例子1:电水壶烧水

同步阻塞:水壶烧水,人要一直等在水壶旁边,直到水烧开。
同步非阻塞:水壶烧水,人去做其他事,时不时过来看看,水烧没烧开,直到水烧开。
异步阻塞:水壶有烧水报警、自动断电功能,人打开烧水开关后,还是等在水壶旁边,等水烧开(虽然没必要)。
异步非阻塞:水壶有烧水报警、自动断电功能,人打开烧水开关后,去干其他事,不用一直等水壶烧开。

例子2:家电商场买电视

同步阻塞:买电视,坐在商场干等着,等商家包装电视,自己带回去。
异步非阻塞:买电视,下订单,下完电视订单订单,付完款,去干其他事,直到快递上门送货。

例子3:书店买书

打电话给书店问有没有《围城》这本书。
同步:打电话给书店老板,老板说你等等,我查一下,然后一直等,直到老板说有没有。
异步:打电话给书店老板,老板说,等我查到了,打电话给你。
阻塞:上述的同步或异步过程,你也一直在等老板的回答。
非阻塞:上述的同步或异步过程,你去干其他事。

参考文档

同步、异步、阻塞、非阻塞

转载于:https://www.cnblogs.com/fonxian/p/10890076.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值