IO模型
用户态与内核态:
操作系统把虚拟空间分为两部分,操作系统占用的是内核态,用户使用的是用户态。
同步与异步:
同步:干完一件事再干一件事
异步:同时处理多个任务
阻塞与非阻塞:
1.阻塞IO:拿不到数据就等
工作效率低
2.非阻塞IO:拿不到数据就回复拿不到,然后干别的,过会再来看看有没有,有了就拿,没有继续干别的
工作效率高,cpu的负担高
3.IO多路复用(借助操作系统):再有多个对象需要IO阻塞的时候,能够有效的减少阻塞带来的时间损耗,
且能够在一定程度上减少CPU的负担
4.异步IO:工作效率高,cpu负担少 #目前python实行不了
IO多路复用:
select
poll
epoll