同步异步 阻塞非阻塞(NIO) 极简解释

本文通过一个生动的例子——老张烧水泡茶,解释了同步与异步、阻塞与非阻塞的区别。利用响水壶烧水的场景说明了异步非阻塞方式能显著提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

废话不说,老张爱喝茶,煮开水,有两个水壶,普通水壶,响水壶(水开会提示)

同步就是普通水壶烧开水,要没事儿自己过来来看开没开;
异步就是响水壶烧开水,水开了水壶响了通知你。
阻塞是烧开水的过程中,你不能干其他事情(即你被阻塞住了),只能站那等水开;
非阻塞是烧开水的过程里可以干其他事情。比如去客厅看看电视;

同步与异步说的是你获得水开了的方式不同。
阻塞与非阻塞说的是你得到结果之前能不能干其他事情。
两组概念描述的是不同的内容。

这里你看明白了,就会发现:

效率最高的办法是 响水壶烧水(异步)
水烧开提示你之前可以去干别的事儿(非阻塞)
等到水开了提示你你再去拿水
所以异步和非阻塞常常在一起大大提高每个线程的效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值