当前位置: 首页 > news >正文

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)

http://www.jsqmd.com/news/216298/

相关文章:

  • 低成本构建多语言网站:开源翻译镜像节省80%成本
  • 零成本学习:利用免费GPU额度体验最新图像生成技术
  • WebUploader分块上传在JSP的加密传输步骤
  • 尽早锻炼与人发生冲突的能力
  • 智驾大陆neueHCT完成近2亿美元融资,加速全球智驾普惠落地
  • YOLOv10优化:损失篇 | 原创自研 | 一种基于小目标改进的多尺度的动态(SD)损失
  • 多人场景分割总失败?M2FP镜像一键部署解决遮挡识别难题
  • 小邦教你如何应对不同类型老板
  • 无图纸定制修复汽车外饰?3DeVOK MT+QUICKSURFACE逆向设计解决方案
  • 实现WordPress粘贴图片支持Latex公式导入
  • 基于Gossip算法的柔性互联自治微网群分布式协调控制策略:复现代码与详细解释
  • Z-Image-Turbo批量图像生成:快速搭建自动化处理平台
  • 告别局域网束缚!有了cpolar加持Archcraft 这样用更顺手
  • 企业级部署建议:负载均衡下的多个翻译镜像调度策略
  • 社区共建邀请:欢迎贡献代码与测试用例
  • GESP2025年12月认证C++八级真题与解析(判断题1-3)
  • JAVA百万文件分块上传性能优化策略
  • 图像文字识别与比对系统设计与实现
  • 企业多场景应用:客服、文档、邮件自动翻译系统搭建指南
  • 教育科技融合案例:在线课程字幕实时翻译实现路径
  • 告别环境配置噩梦:一键部署阿里通义Z-Image-Turbo的终极指南
  • 避开CUDA地狱:MGeo地址匹配模型的最佳实践
  • 自动化部署:用Docker封装M2FP服务
  • M2FP模型多任务学习:结合姿态估计的改进
  • GESP2025年12月认证C++八级真题与解析(判断题4-7)
  • 如何评估翻译质量?BLEU之外的人工评测标准
  • Z-Image-Turbo模型压缩技术解析:快速复现实验环境
  • 阿里通义Z-Image-Turbo WebUI与个性化推荐:如何生成符合用户偏好的图像
  • 如何扩展M2FP模型支持更多身体部位识别?
  • 机械臂视觉抓取系统:从仿真到部署的完整实现