Appearance
一个任务只能睡在一个 fd 的等待队列上——你想同时等键盘有输入、又等一个 socket 来数据,傻办法是开两个任务各阻塞一个 fd;聪明的办法是一次把 N 个 fd 交给内核,任一就绪(或超时)就让内核叫醒你。这就是 poll/select 这一层多路复用要干的事。