IO分为两个阶段:第一阶段是data的准备,第二阶段是从kernel拷贝到用户进程。
1.阻塞IO:两阶段都发生阻塞;
2.非阻塞IO:data准备阶段,一直调用,直到返回ok,再阻塞进行第二步。
3.IO复用:使用select/epoll基于事件的IO操作,能同时监控多个IO,两阶段都是阻塞;
4.异步IO:完全交给别人去做,非阻塞;
推荐阅读:IO对比
IO分为两个阶段:第一阶段是data的准备,第二阶段是从kernel拷贝到用户进程。
1.阻塞IO:两阶段都发生阻塞;
2.非阻塞IO:data准备阶段,一直调用,直到返回ok,再阻塞进行第二步。
3.IO复用:使用select/epoll基于事件的IO操作,能同时监控多个IO,两阶段都是阻塞;
4.异步IO:完全交给别人去做,非阻塞;
推荐阅读:IO对比