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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/evanxuhe/article/details/79627709
今日推荐