京东科技开发者

京东科技开发者 -

IO模型介绍(select、poll、epoll)

IO中的I就是input,O就是output,IO模型即输入输出模型,而比较常听说的便是磁盘IO,网络IO。

IO模型是指输入输出模型,常见的有磁盘IO和网络IO。应用程序不能直接进行读写操作,而是通过操作系统提供的API来进行。IO调用是应用程序向操作系统发起调用,IO执行是操作系统完成IO操作。一次IO流程包括应用程序发起IO调用、操作系统准备数据、数据准备阶段、数据copy阶段。阻塞IO需要不断调用read函数进行系统调用,而非阻塞IO可以通过循环尝试读写文件描述符。多路复用通过select、poll、epoll函数同时监控多个文件描述符,减少线程资源创建。异步IO模型只需要发送一次请求就可以完成状态询问和数据拷贝的操作。同步IO是发出调用后需要参与等待结果的过程,异步IO是发出调用后自己不参与等待。

相关推荐 去reddit讨论

热榜 Top10

eolink
eolink
Dify.AI
Dify.AI
LigaAI
LigaAI
观测云
观测云

推荐或自荐