写点什么

read、select、poll、epoll 区别

作者:wzh
  • 2022-10-12
    北京
  • 本文字数:244 字

    阅读完需:约 1 分钟

阻塞 io 造成 cpu 等待 io,CPU 的处理能力不能得到充分利用。(多线程提升性能一部分原因是提升了 cpu 的利用率,休眠了可以切换到另一个线程去执行)

轮询:非阻塞 io 需要程序重复调用 io 操作来确认操作是否完成,这种重复调用判断操作是否完成的技术叫做轮询。阻塞 I/O 造成 CPU 等待浪费,非阻塞 io 需要轮询去确认是否完全完成数据获取,它会让 CPU 处理状态判断,是对 CPU 资源的浪费。

轮询技术如何演进的,以减小 I/O 状态判断的 CPU 损耗。

1)read:通过重复调用来检查 I/O 的状态来完成完整数据的读取。在得到最终数据前,CPU 一直耗用在等待上。


用户头像

wzh

关注

还未添加个人签名 2019-06-13 加入

还未添加个人简介

评论

发布
暂无评论
read、select、poll、epoll区别_wzh_InfoQ写作社区