首页 > 代码库 > 阻塞IO、非阻塞IO的区别

阻塞IO、非阻塞IO的区别

1.类与类之间的关系:依赖,实现,泛化(继承),关联,组合,聚合。
1)依赖(虚线):一个类是 另一个类的函数参数 或者 函数返回值。
2)实现(实线加小圆):对纯虚函数类(抽象类)的实现。
3)继承 即 泛化(实线加空心三角形,从子类指向父类):表示一个类与另一个类之间的继承关系;
4)关联(实线):一个类是另一个类的成员变量。
5)聚合(菱形加实线):整体和部分的关系。不太紧密的(如:汽车与发动机,汽车可以选择各种型号的发动机)
6)组合(实心菱形加实线):生命体整体与部分的关系。紧密的关系(人和五脏六腑)

2.时序图:三个要素(对象,消息,生命线)。


3.RAM和ROM的区别:ROM和RAM都是一种存储技术,只是两者原理不同。
1.RAM为随机存储,掉电不会保存数据。RAM则可以随机读写。
2.ROM可以在掉电的情况下,依然保存原有的数据。这种存储器只能读,不能写

4.通俗的说,比如在电脑中,有内存和硬盘之说;其实内存就是一种RAM技术,而ROM则类似于硬盘技术;
两者都是存储器,只是RAM的速度要远远高于ROM的速度。

5.在手机中,RAM是指手机内存,对于手机性能来说,除了看手机处理器就是看内存了,内存越大手机配置越好.
手机ROM是指手机存储器,比如手机内存SD卡。ROM越大手机可以存储的东西就越多。

 

"++++++++++++++++++++++++++++++阻塞IO/非阻塞IO; 同步IO/异步IO +++++++++++++++++++++++++++++++++++++++++ "
一。IO请求的两个阶段:
1.等待资源阶段:IO请求一般需要请求特殊的资源(如磁盘、RAM、文件),当资源被上一个使用者使用没有被释放时,IO请求就会被阻塞,直到能够使用这个资源。
2.使用资源阶段:真正进行数据接收和发生。

二。在等待数据阶段,IO分为阻塞IO和非阻塞IO。
1.阻塞IO: 资源不可用时,IO请求一直阻塞,直到反馈结果(有数据或超时)。
2.非阻塞IO:资源不可用时,IO请求离开返回,返回数据标识资源不可用

三。在使用资源阶段,IO分为同步IO和异步IO。
1.同步IO:应用阻塞在发送或接收数据的状态,直到数据成功传输或返回失败。
2.异步IO:应用发送或接收数据后立刻返回,数据写入OS缓存,由OS完成数据发送或接收,并返回成功或失败的信息给应用。

四。IOPS,即每秒钟处理的IO请求数量。IOPS是随机访问类型业务(OLTP类)很重要的一个参考指标。


"+++++++++++++++++++++++++++++++阻塞IO/非阻塞IO; 同步IO/异步IO +++++++++++++++++++++++++++++++++++++++++ "

阻塞IO、非阻塞IO的区别