同步:提交一个任务之后要等待这个任务执行完毕
异步:只管提交任务,不等待这个任务执行完毕就可以做其他事情
阻塞:recv, recvfrom,accept
非阻塞
五种网络IO模型:
blocking IO # 阻塞IO
nonblocking IO # 非阻塞IO
IO multiplexing # IO多路复用
signal driven IO # 信号驱动IO, 不常用
asynchronous IO # 异步IO
阻塞IO:

1阶段叫等待数据准备
2阶段叫将数据从内核拷贝到进程中
非阻塞IO:

在两次询问中间可以做其他的事情
IO多路复用:

IO多路复用
select机制 windows linux # 都是操作系统轮询每一个被监听的项
poll机制 linux # 监听的对象比select多,随着监听项的增多,效率会降低
epoll机制 linux # 给每个对象绑定回调函数
异步IO:

python代码并不能真正意义是实现,可以用c语言编写的模块实现
几种模型的对比:
