优化设计,在 IO 方面应该注意哪些要点
24-05-24 11:40
836
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 处理完成后,就主动告诉业务,处理完成了,这样不需要每个业务都来进行轮询查询了。
-
资源素材解析系统网站源码
设计资源素材解析系统网站源码 支持N个平台教程在压缩包里面很详细。包括了网站设置与获取cookie等详细教程 461 0 21-07-05 -
智能用电小程序
智能用电小程序源码是开发一款基于微信小程序的电力管理应用的核心代码库,它旨在提供便捷、智能化的电力使用服务。这款小程序可能包含了用... 1027 0 24-09-16 -
class中函数的this指向
定义一个基础的类class Person { constructor(name = "杜恒") { this.name = name; } speak() { console.log(this); } }将... 690 0 25-04-07 -
历年法硕考研真题及参考答案
2005年全国法律硕士联考真题专业综合课.pdf2005年全国法律硕士联考真题答案详解专业基础课刑法学 - 副本.pdf2005年全国法律硕士联考真题... 898 0 24-08-20 -
语音阅读文本
528 0 21-06-04 -
JQUERY判断一个元素是否在可视区域中
基本概念:offsetTop指元素的上外边框至包含元素的上内边框之间的像素距离,其他方向相同offsetWidth指元素两端算上外边框的宽度,其他方向... 1092 0 24-03-20 -
云商城小程序(带php后端)
云商城是一种基于云计算技术的电子商务平台。以下是一些主要特点:全球化:云商城可以让商家轻松地将商品销售给全球的消费者,消费者也可以... 765 0 24-09-16 -
js文字图片滚动效果
343 0 21-06-02
发表我的评论
共0条评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~