首页 > 其他分享 >IO模型介绍

IO模型介绍

时间:2024-04-09 20:46:20浏览次数:29  
标签:完成 模型 阻塞 介绍 IO 组件 操作

IO模型介绍

  • 我们研究的 IO 都是基于网络 IO 的
  • Stevens在文章中一共比较了五种IO Model:
    • blocking IO
    • nonblocking IO
    • IO multiplexing
    • signal driven IO ---(忽略)
    • asynchronous IO 由signal driven IO(信号驱动IO)在实际中并不常用,所以主要介绍其余四种IO Model。
  • 当一个read操作发生时,该操作会经历两个阶段:
    • 1、等待数据准备 (Waiting for the data to be ready)
    • 2、将数据从内核拷贝到进程中(Copying the data from the kernel to the process)
  • 同步
    • 在同步模式下,一个组件必须等待另一个组件完成某个操作,然后再进行下一个操作。
  • 异步
    • 在异步模式下,组件之间互不干扰,它们可以独立地执行任务。当一个组件完成任务后,它可以直接通知另一个组件继续执行操作。
  • 阻塞
    • 在阻塞模式下,一个进程或线程在执行某个操作时,如果该操作没有完成,它将立即停止一切操作,并等待操作完成后再继续进行后续操作。
  • 非阻塞
    • 在非阻塞模式下,一个进程或线程在执行某个操作时,即使该操作没有完成,也会立即返回执行下一个操作,不会出现停滞等待的情况。 如果下一个操作需要依赖于上一个还未完成的操作,它将定期检查上一个操作是否完成,保证这些未完成的操作不会影响后续任务的执行。
  • 常见的网络IO
    • accept
    • recv
    • recvfrom

一、阻塞IO模型

我们之前写的都是阻塞 IO 模型 (协程除外)

[1]TCP/UDP协议模型

二、非阻塞IO模型

三、IO多路复用

四、异步IO

五、总结

标签:完成,模型,阻塞,介绍,IO,组件,操作
From: https://www.cnblogs.com/taoyuanshi/p/18124727

相关文章

  • 2025年韩国国际电池储能展览会KBS展会介绍
    2025年韩国国际电池储能展览会KBS展会地点:韩国·高阳·韩国国际会展中心1(KINTEX1)主办单位:KoreaE&ExInc.展会介绍2025年韩国国际电池储能展览会KBS2025是一个汇集全球电池产业链-福贸展会大鹏zpexpo-前沿技术和产品的盛会。本次展会将于2025年09月25-27日在韩国国际展览中......
  • 相机模型浅析
    相机模型文章目录相机模型四个坐标系针孔相机模型世界坐标系到相机坐标系相机坐标系到图像坐标系图像坐标到像素坐标四个坐标系①世界坐标系:是客观三维世界的绝对坐标系,也称客观坐标系。因为数码相机安放在三维空间中,我们需要世界坐标系这个基准坐标系来描述数码相......
  • 【前沿模型解析】潜在扩散模型 2-3 | 手撕感知图像压缩 基础块 自注意力块
    1注意力机制回顾同ResNet一样,注意力机制应该也是神经网络最重要的一部分了。想象一下你在观看一场电影,但你的朋友在给你发短信。虽然你正在专心观看电影,但当你听到手机响起时,你会停下来查看短信,然后这时候电影的内容就会被忽略。这就是注意力机制的工作原理。在处理输入......
  • 通过termux tailscale huggingface 来手把手一步一步在手机上部署LLAMA2-7b和LLAMA2-7
    前言首先截图一下我的小米手机的配置我这个配置其实一般,当时主要为了存储空间大,而我对配置要求又不高,买的。在手机上安装termuxapp,然后在termux上就可以使用各种命令进行安装和使用,就像在linux操作系统上一样了。再通过termux安装上openssh,这样你就可以在window、mac等电......
  • 论文阅读-Causality Inspired Representation Learning for Domain Generalization
    标题:CausalityInspiredRepresentationLearningforDomainGeneralization会议:CVPR统计学上的相关(stastisticaldependence)不一定表示因果关系。CIRL旨在挖掘内在的因果机制(intrinsiccausalmechanism)。名词解释:DG(DomainGeneralization)域泛化SCM(StructuralCau......
  • IDEA中使用tomcatconfiguration做服务器后,无法从html跳转到servlet的原因
    就我的项目而言,因为我没有用maven中的tomcat插件,用的是IDEA中的tomcatconfiguration,所以刚启动服务器生成的网址是http://localhost:8080/brand_demo_war/,而因为我的项目叫brand-demo,servlet叫做selectAllServlet,所以正常情况浏览器跳转到该servlet后的url应该是http://localhos......
  • Java IO与NIO-Java内存管理-Java虚拟机(JVM)-Java网络编程-Java注解(Annotation)
    JavaIO与NIO:请解释Java中的IO(Input/Output)和NIO(NewInput/Output)的区别是什么?它们各自的优势是什么?答案:Java中的IO是基于流(Stream)的方式进行输入输出操作,而NIO则是基于通道(Channel)和缓冲区(Buffer)的方式进行输入输出操作。NIO相比于IO具有非阻塞IO、选择器(Selector)和内存映......
  • 用友 NC ActionServlet SQL注入漏洞复现
    0x01产品简介用友 NC是用友网络科技股份有限公司开发的一款大型企业数字化平台。0x02漏洞概述用友NC/service/~iufo/com.ufida.web.action.ActionServlet接口处存在SQL注入漏洞,未经身份验证的恶意攻击者利用SQL注入漏洞获取数据库中的信息(例如管理员后台密码、站点......
  • CSS -层叠性、继承性、盒子模型、盒子模型表格、盒子模型margin、盒子阴影
    层叠性CSS层叠性(Cascading)是指在网页中应用多个样式规则时,根据一定的规则来确定最终应用的样式。层叠性使得样式可以按照一定的优先级和规则进行组合和覆盖,从而实现对元素的样式控制。层叠性的影响因素:选择器的特殊性(Specificity):选择器的特殊性决定了样式规则的优先级。......
  • 【kears】(01)keras使用介绍
    文章目录一.特点二.keras如何支持TensorFlow、CNTK和Theano2.1使用TensorFlow后端引擎训练和评估模型2.2使用TensorFlow后端引擎训练和评估模型2.3使用Theano后端引擎训练和评估模型2.4不同深度学习框架如何选择1.1keras.datasets:包含多种常用数据集1.2kera......