阻塞式IO
你想喝水, 用烧水壶烧水, 自己站在旁边盯着, 水烧开之后倒进杯子里, 晾凉了喝.
非阻塞式IO
你烧水, 你不在这里等着, 而是开始烧之后跑去打游戏, 每隔2分钟回来看看有没有烧开. 直到有一次来看到烧开了, 倒进杯子里, 晾凉了喝.
NIO多路复用
你找了个专门帮人烧水的邻居, 他给很多人烧水. 你让他帮你烧上之后就跑回家打游戏去了, 水开了之后他就打电话叫你. 但是你要自己来倒杯子里晾凉喝.
信号量
你去烧水房, 全自动的, 没有人. 通知灯和你家门铃是连通的, 你烧上就可以走, 烧开了就自动响你家的门铃. 但是有时候你家来客人了也会按门铃, 你就搞不清状况.
异步IO
和NIO多路复用相似, 这里是他给你倒好, 吹凉了, 喊你来直接喝.