优化设计,在 IO 方面应该注意哪些要点
24-05-24 11:40
899
0
I/O 基础介绍
I/O(Input/Output)意思是输入输出,其实就是数据传递的一个过程,作为后台服务需要更多地与外部进行数据交互,那么就免不了 I/O 操作。I/O 的类型也是非常多的,我们应该掌握常用的一些 I/O 模型分类。
I/O 分为以下 5 种模型,在介绍分类之前,我们先了解 I/O 在系统层面会有 2 个阶段(以读为例子):
第一个阶段是读取文件,将文件放入操作系统内核缓冲区;
第二阶段是将内核缓冲区拷贝到应用程序地址空间。
1.阻塞 I/O
例如读取一个文件,我们必须要等待文件读取完成后,也就是完成上面所说的两个阶段,才能执行其他逻辑,而当前是无法释放 CPU 的,因此无法去处理其他逻辑。
2.非阻塞 I/O
非阻塞的意思是,我们发起了一个读取文件的指令,系统会返回正在处理中,然后这时候如果要释放进程中的 CPU 去处理其他逻辑,你就必须间隔一段时间,然后不停地去询问操作系统,使用轮询的判断方法看是否读取完成了。
3.多路复用 I/O
这一模型主要是为了解决轮询调度的问题,我们可以将这些 I/O Socket 处理的结果统一交给一个独立线程来处理,当 I/O Socket 处理完成后,就主动告诉业务,处理完成了,这样不需要每个业务都来进行轮询查询了。
-
省-市-县 地区三级联动
448 0 21-06-02 -
国家中小学智慧教育平台电子教材 - 远离低质量电子版
国家中小学教材电子版,告别诱导关注,远离低质量电子版质量保证,教材来自 国家平台和各大出版社,可复制文本和图片的真 PDF,不是扫描和... 1331 0 25-02-05 -
普通话智能学习软件.(普通话水平测试仿真系统)
普通话智能学习软件.(普通话水平测试仿真系统).exe 904 0 24-08-20 -
牛牛盲盒商城微擎小程序源码带视频教程_可对接微信支付
打开一个盲盒前,你永远不知道里面是什么。但是一旦打开,就得为它买单。盲盒产品的属性多样化,市场需求不断扩大,目前正处于快速扩张的红... 1308 0 24-06-03 -
零基础学编程 零基础学Java
随着软件的普及,开发技术的发展也日新月异,软件开发语言也不断地触及生活中的各个领域。而在这些众多的开发语言中,Java语言如异军突起,... 921 0 24-05-24 -
在线查毒病毒分析网站合集
安全使用电脑的方式是软件尽量都从官网下载,但是如果想使用网友分享的软件,除了用本地杀毒软件查毒外,还可以使用各大杀毒厂商提供的在线... 1017 0 25-03-10 -
个人文件转移工具v2.0
个人文件转移工具是一款简单好用的文件转移软件。个人文件转移工具可以把“我的文档”、“桌面”等个人文件夹从C盘转移到D盘,一次使用,永... 840 0 25-05-06 -
GKD (搞快点) 安卓屏幕点击应用程序
GKD,这款卓越的无障碍屏幕点击应用,配备了高级选择器与灵活的订阅规则,专为个性化定制而设计。身为开源且免费的软件,GKD(昵称“搞... 709 0 25-06-10
发表我的评论
共0条评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~