首页 > 其他分享 >I/O模型之A、B、C、D、E、F、G去火锅店吃火锅

I/O模型之A、B、C、D、E、F、G去火锅店吃火锅

时间:2024-03-27 20:32:55浏览次数:20  
标签:吃火锅 NIO read 模型 阻塞 应用程序 内核 火锅店

目录

BIO Blocking I/O 即同步阻塞I/O

NIO Non-Blocking I/O 即同步非阻塞I/O

I/O多路复用

AIO Asynchronous I/O 异步I/O

总结


I/O:Input和Output

BIO Blocking I/O 即同步阻塞I/O

应用程序发起read调用后,一直会阻塞,直到系统内核将数据拷贝给应用程序。

缺点:一直阻塞,不能应对高并发场景。

NIO Non-Blocking I/O 即同步非阻塞I/O

应用程序会一直发起read调用,一直到系统内核将数据拷贝给应用程序。

缺点:在内核拷贝数据到应用程序之前,依旧是阻塞的,而且多次发起read调用会占用CPU资源。

I/O多路复用

多路复用 通过一个选择器实现一个线程可以管理多个客户端,只有数据到达之后才会为其服务,每个客户端-内核之间相当于NIO模型

 

信号驱动I/O

主要依靠信号驱动,应用程序发送信号直接返回,不阻塞,内核准备好数据之后发送信号,应用程序再来读取数据,读取数据过程中还是阻塞的。

AIO Asynchronous I/O 异步I/O

应用程序发起read调用,会直接返回,去执行其他操作,等待内核准备好数据,直接回调应用程序的方法将数据交给应用程序。

总结(吃火锅)

看到一个例子结合自己理解分享给大家

场景:A、B、C、D、E、F、G去火锅店吃火锅,需要等位,他们都需要取号。

BIO:A取上号一直在等,直到排队到号,才吃上火锅。

NIO:B取上号就在周围逛,过一会来看一下到没到号,直到到号才吃上火锅。

多路复用:有一个跑腿,在同时帮助C、D、E去看一下有没有到号,假如D到号了,D去吃火锅,并且这个选择器在D吃火锅期间,都是在为D服务的,跑腿是专业的。

信号驱动I/O: F给店长打个电话,帮F取号,等到号了,店长给F打电话,你可以来吃火锅了。

AIO:G取上号,店长说你是至尊VIP,你留个地址,这边做好给你送过去,G就去干其他的事情,后面做好直接送到预留的地址。

还是你至尊黄红蓝黑红铂星VIP最舒服了!

标签:吃火锅,NIO,read,模型,阻塞,应用程序,内核,火锅店
From: https://blog.csdn.net/weixin_45967584/article/details/137086508

相关文章

  • 聊聊大模型"打字机"效果的背后技术——SSE
    SSE:ServerSentEvent;服务器发送事件。Server-SentEvents(SSE)是一种由服务器向客户端推送实时数据的技术。它是构建基于事件的、服务器到客户端的通信的一种方法,特别适用于需要实时更新和推送信息的应用场景,如实时通知、股票交易、实时游戏状态更新等。SSE的工作原理是,一旦客户......
  • R:PLS-DA模型
    #清除所有变量rm(list=ls())#设置工作目录setwd("C:\\Users\\Administrator\\Desktop\\新建文件夹\\PLS_Pathway")#1.加载所需的库library(vegan)library(tidyverse)library(ggpubr)library(patchwork)library(ggforce)library(mixOmics)library(patchwork)......
  • 【ai模型系列】-1
    1、阿里通用多模态大模型OFA研究实践2、从零开始学习大模型-第四章-如何创建一个大模型3、大模型在IT运维领域的落地差距与未来展望4、大模型应用的10种架构模式......
  • 中国 10 亿参数规模以上大模型数量已超 100 个;GitHub 推出代码自动修复工具丨 RTE 开
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观点,欢......
  • 『大模型笔记』常见的分布式并行策略(分布式训练)
    常见的分布式并行策略(分布式训练)文章目录一.为什么分布式训练越来越流行二.常见的并行策略2.1数据并行2.2模型并行2.3流水并行2.4混合并行二.参考文献一.为什么分布式训练越来越流行近年来,深度学习被广泛应用到各个领域,包括计算机视......
  • SpringBootWeb最新相关技术(上接maven):IDEA2023-Spring环境,http协议复习概览,web服务器To
    Spring官网HTTPs://spring.iospring生态(全家桶)基于SpringFramework基础框架。但如果我们基于该基础框架开发,会面临配置繁琐,入门难度大的问题,SpringBoot则可以快速开发(简化配置,快速开发)。1.SpringBootWeb入门使用SpringBoot开发一个Web应用,浏览器发起请求/hello之后,给浏......
  • 【深度学习】最强算法模型之:潜在狄利克雷分配(LDA)
    潜在狄利克雷分配1、引言2、潜在狄利克雷分配2.1定义2.2原理2.3算法公式2.4代码示例3、总结1、引言小屌丝:鱼哥,给我讲一讲LDA小鱼:LDA?你指的是?小屌丝:就是算法模型的LDA啊,你想啥?小鱼:哦,哦,那就好,小屌丝:你告诉我,你想啥了?小鱼:不滴,我就不小屌丝:…你就说吧,我......
  • ChatTuGraph:通过大模型“与图对话”
    使用SQL(StructuredQueryLanguage)对数据库/数据仓库进行查询分析操作,几乎成了研发工程师和数据分析师的“家常便饭”,然而要写出高效、清晰、优雅的SQL脚本并非易事。随着大语言模型(LLM)技术的普及,借助大模型微调(FineTuning)等技术将自然语言自动翻译为SQL语句(NL2SQL/Text2SQL)便成......
  • 手把手带你用RT-DETR模型部署训练自己的数据集
    本文主要介绍如何部署、训练RT-DETR模型,将从两种方式进行介绍:一种是RTDETR自带的项目文件,另一种是ultralytics仓库下将训练的模型改为rtdetr的基本模型。1.配置环境1.1新建虚拟环境我们可以在电脑上新建一个虚拟环境condacreate-nRT-DETRpython=3.10激活环境condaac......
  • 一个可一键生成短视频的AI大模型,亲测可用
    大家好,我是Java陈序员。自从OpenAI发布Sora文本生成视频模型后,文本生成视频的AI技术引起了无数圈内圈外人士的关注和实验。今天,给大家介绍一个大模型,可一键生成短视频。关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。项......