首先,我们要分清如下IO模型:
阻塞IO
同学A等来信,一直 等在信箱旁
非阻塞IO
同学B等来信,隔一段时间看一下信箱 等信来
异步IO
同学C给同学E说,有信了后告诉我,然后C同学开飞机去了
( 只要等了,都是同步IO)
IO复用
同学F家境富裕,有一堆信箱,
同学F让同学G看到有人来送信,就告诉他(内核select函数,如果是epoll函数效率更高)
然后F每个信箱都去等, 等人把信装进信箱。(recv函数)
信号驱动IO
同学H给同学I说,有人来送信了就打信号,H看到信号了就去信箱等信来。