首页 > 其他分享 >BIO NIO AIO

BIO NIO AIO

时间:2024-06-04 10:45:20浏览次数:11  
标签:BIO 同步 NIO 异步 read 阻塞 AIO

BIO NIO AIO

BIO - blocking IO

传统IO模型,同步阻塞,所有的accept read write 都会阻塞,不管是客户端还是服务器端。
普通的socket编程就是这种。当服务器端accept时阻塞,当read时也会阻塞。
通过使用多线程可以实现对多个客户端的链接,即主线程中accept,当有新的连接建立后,使用线程处理read/write.

NIO - Non-blocking IO

采用channel或者buffer 与 selector的方式,实现同步非阻塞。

步调(同步、异步)和阻塞(阻塞、非阻塞)

阻塞 非阻塞
同步 执行任务,并等待返回结果 执行任务,轮询返回结果
异步 延迟执行任务,一旦开始任务就一直等待返回结果 执行任务,并结果准备好后,通过回调方式处理结果

同步阻塞

什么叫同步非阻塞:使用编程的方式去描述就是:

  • 把try放在while 循环中,直到try成功。

比如采用channel或者buffer的方式实现同步非阻塞,可能就是
不停地去检查channel或者buffer中是否已经有数据。

  • 如果没有不停的检索,
  • 如果有了则继续后续的工作。

异步阻塞

"在需要某资源时不马上发起请求,而安排一个以后的时间再发起请求。当到了那时发出请求时,将暂停本线程之后的程序,直至获得所需的资源。在获取资源之后,使用共享信号量、异步回调等方式将结果异步反馈。"
https://blog.csdn.net/wangpaiblog/article/details/117236684

IoC

IoC: Inversion of Control 依赖倒置,也称为控制反转
在很多系统设计中常被用到,用来实现模块与模块,完成实现对象和设计框架之间的解耦。
IoC也让函数回调或者插入函数变的容易。

标签:BIO,同步,NIO,异步,read,阻塞,AIO
From: https://www.cnblogs.com/zongzw/p/18230324

相关文章

  • 图床软件Minio oss
    dockerrun-p9000:9000-p9001:9001--nameminio-d--restart=always-e"MINIO_ACCESS_KEY=admin"-e"MINIO_SECRET_KEY=admin123456"-v/home/data:/data-v/home/config:/root/.miniominio/minioserver--console-address":9000"......
  • 初步搭建一个自己的对象存储服务---Minio
    docker安装1、拉取镜像dockerpullminio/minio2、启动镜像dockerrun-p9000:9000-p9001:9001--nameminio-d--restart=always-e"MINIO_ACCESS_KEY=admin"-e"MINIO_SECRET_KEY=admin123456"-v/home/data:/data-v/home/config:/root/.miniominio/m......
  • 各种“Ops“的对比:DevOps vs. DataOps vs. MLOps vs. AIOps
    文章目录0.前言1.DevOps2.DataOps3.MLOps4.AIOps5.总结6.参考0.前言近年来,缩略词“Ops”在IT运营领域中迅速普及,反映了该领域的一系列重要变革。传统的IT操作正在向自动化流程转变,以更高效地改善客户交付。这种转变旨在减少人为干预,增加操作的一致性......
  • VMware ESXi 7.0U3q macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动
    VMwareESXi7.0U3qmacOSUnlocker&OEMBIOS集成网卡驱动和NVMe驱动(集成驱动版)ESXi7U3标准版集成Intel网卡、RealtekUSB网卡和NVMe驱动请访问原文链接:https://sysin.org/blog/vmware-esxi-7-u3-sysin/,查看最新版。原创作品,转载请保留出处。作者主页:sy......
  • VMware ESXi 7.0U3q macOS Unlocker & OEM BIOS 标准版和厂商定制版
    VMwareESXi7.0U3qmacOSUnlocker&OEMBIOS标准版和厂商定制版ESXi7.0U3标准版,Dell(戴尔)、HPE(慧与)、Lenovo(联想)、Inspur(浪潮)、Cisco(思科)、Hitachi(日立)、Fujitsu(富士通)、NEC(日电)OEM定制版请访问原文链接:https://sysin.org/blog/vmware-esx......
  • Unleashing Robotics: Mastering Quaternion Kinematics with Python - Chapter7(原创
    UnleashingRobotics:MasteringQuaternionKinematicswithPython-Chapter7(原创系列教程)本系列教程禁止转载,主要是为了有不同见解的同学可以方便联系我,我的邮箱[email protected].使用截断级数的近似方法在状态估计问题中,我们通常使用一个称为状态转移矩阵......
  • Biotin PEG Biotin,生物素 PEG 生物素,PEG是一种高分子聚合物,具有良好的水溶性和生物相
    一、试剂基团反应特点(Reagentgroupreactioncharacteristics):BiotinPEGBiotin的作用机理主要涉及生物素(Biotin)和聚乙二醇(PEG)的特性以及它们之间的相互作用。首先,生物素是一种水溶性维生素,对于人体和动物的新陈代谢和健康起着重要作用。它作为许多酶系统的辅助因子,参与碳水......
  • 基于语音识别的智能电子病历(三)之 Soniox
    Soniox成立于2020年,目前总部位于美国加州福斯特城,该公司开发了市场上最好的语音识别引擎之一。该公司目前提供市面上领先的云转录引擎之一——这也是audioXpress成功用于采访和一般语音转文本转换的引擎。专注于语音AI的Soniox在2021年推出了世界上第一个用于语音识别的无监督......
  • git detected dubious ownership in repository(idea gitlab不能使用账户密码登录)
    1.情景展示如上图所示,当我在idea当中commit时,报错信息如下:Errorupdatingchanges:detecteddubiousownershipinrepositoryat'D:/workspace-idea2024/dc''D:/workspace-idea2024/dc'isownedby:(inconvertible)(S-1-5-21-269100500-990079634-2360623121-1000......
  • 根据若依系统+minio实现批量下载附件并自动压缩成zip
    效果实现:  分割!!!!以下代码参考于http://t.csdn.cn/4dUmDwg话不多说直接从后端开始0.首先是pom依赖<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.5.7</version></dependency>1.后端Contr......