news 2026/4/18 21:30:14

IO(八股)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IO(八股)

IO流:

  • 程序与外部设备(文件,内存,网络,外设)之间传输数据的抽象方式。
  1. 数据流向:输入流(InputStream)输出流(OutputStream)
  2. 数据单位:字节流(二进制数据),字符流(文本数据)

网络流:

  • 是IO流的具体应用场景,特指在网络通信(TCP/UDP)中,程序通过网络套接字(Socket)与远程主机之间传输数据的数据流,是跨主机的IO流。

同步IO与异步IO原理:

IO操作的完成过程分为两个核心阶段:

  1. 等待数据就绪:内核等待外部数据到达内核缓冲区。
  2. 数据拷贝:将内核缓冲区中的数据拷贝到用户进程的内核缓冲区中。

同步IO和异步IO的核心区别:在于用户进程是否需要等待这两个阶段完成。

同步IO:

用户进程发起IO操作后,必须等待IO的“等待就绪+数据拷贝”至少一个阶段完成,才能继续执行后续代码;数据拷贝阶段进程一定是阻塞的。

类型原理
阻塞IO(BIO)进程调用的时候,内核若数据未就绪->进程直接阻塞,知道数据就绪+拷贝完成,才继续执行
非阻塞IO(NIO)进程调用的时候,内核若数据未就绪->立即返回错误,进程可做其他事,然后轮询调用,知道数据就绪完毕+拷贝完成

异步IO:

用户进程发起IO操作后,无需等待任务阶段,直接返回并继续执行;内核会自动完成“等待数据就绪+拷贝完成”的全部工作,完成后通过回调函数/信号主动通知进程。

非阻塞IO(AIO)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 0:36:53

智能装备工厂研发部门如何选用设计云桌面实现降本增效

在制造业数字化转型浪潮中,智能装备工厂研发部门面临设计软件许可成本高、数据安全风险大、跨地域协作效率低等痛点。云飞云共享设计云桌面解决方案通过云端资源集中管理、高性能图形计算能力分配、数据全生命周期加密等技术创新,为装备研发提供了"…

作者头像 李华
网站建设 2026/4/18 6:34:06

Node.js用workerData传递数据

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 Node.js Worker Threads 中的 workerData:高效数据传递的深度解析目录Node.js Worker Threads 中的 workerData&…

作者头像 李华
网站建设 2026/4/18 11:31:34

高性能计算:优化M2FP的内存使用效率

高性能计算:优化M2FP的内存使用效率 📌 背景与挑战:多人人体解析中的资源瓶颈 在计算机视觉领域,多人人体解析(Multi-person Human Parsing) 是一项极具挑战性的任务。它要求模型不仅能够识别单个人体的细粒…

作者头像 李华
网站建设 2026/4/18 21:17:47

论文开题怎么写?计算机专业基于系统设计的技术路线与结构示例

这篇文章主要写给正在准备计算机专业毕业论文开题的本科生。如果你已经确定了大致选题,却不知道论文开题该如何下笔;或者写完之后发现技术路线模糊、结构不清,被导师反复要求修改,那么这篇文章正是为你准备的。本文将围绕论文开题…

作者头像 李华
网站建设 2026/4/18 16:35:15

阿里通义Z-Image-Turbo WebUI与开源社区:如何贡献和分享你的自定义模型

阿里通义Z-Image-Turbo WebUI与开源社区:如何贡献和分享你的自定义模型 作为一名AI爱好者,当你费尽心思训练出一个优秀的自定义模型后,最想做的可能就是将它分享给开源社区,让更多人受益。本文将手把手教你如何通过阿里通义Z-Imag…

作者头像 李华