当前位置: 首页 > 面试题库 >

请你来介绍一下5种IO模型

况喜
2023-03-14
本文向大家介绍请你来介绍一下5种IO模型相关面试题,主要包含被问及请你来介绍一下5种IO模型时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

1.阻塞IO:调用者调用了某个函数,等待这个函数返回,期间什么也不做,不停的去检查这个函数有没有返回,必须等这个函数返回才能进行下一步动作 2.非阻塞IO:非阻塞等待,每隔一段时间就去检测IO事件是否就绪。没有就绪就可以做其他事。 3.信号驱动IO:信号驱动IO:linux用套接口进行信号驱动IO,安装一个信号处理函数,进程继续运行并不阻塞,当IO时间就绪,进程收到SIGIO信号。然后处理IO事件。 4.IO复用/多路转接IO:linux用select/poll函数实现IO复用模型,这两个函数也会使进程阻塞,但是和阻塞IO所不同的是这两个函数可以同时阻塞多个IO操作。而且可以同时对多个读操作、写操作的IO函数进行检测。知道有数据可读或可写时,才真正调用IO操作函数 5.异步IO:linux中,可以调用aio_read函数告诉内核描述字缓冲区指针和缓冲区的大小、文件偏移及通知的方式,然后立即返回,当内核将数据拷贝到缓冲区后,再通知应用程序。

 

 

 类似资料:
  • 本文向大家介绍请你来介绍一下STL的allocaotr?相关面试题,主要包含被问及请你来介绍一下STL的allocaotr?时的应答技巧和注意事项,需要的朋友参考一下 STL的分配器用于封装STL容器在内存管理上的底层细节。在C++中,其内存配置和释放如下: new运算分两个阶段:(1)调用::operator new配置内存;(2)调用对象构造函数构造对象内容 delete运算分两个阶段:(1)

  • 本文向大家介绍请你介绍一下策略模式?相关面试题,主要包含被问及请你介绍一下策略模式?时的应答技巧和注意事项,需要的朋友参考一下 考察点:策略模式 策略模式也叫政策模式,是一种行为型设计模式,是一种比较简单的设计模式。策略模式采用了面向对象的继承和多态机制。略模式适合使用在:1.多个类只有在算法或行为上稍有不同的场景。2.算法需要自由切换的场景。3.需要屏蔽算法规则的场景。 使用策略模式当然也有需要

  • 本文向大家介绍请你介绍一下B+树?相关面试题,主要包含被问及请你介绍一下B+树?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: B+是一种多路搜索树,主要为磁盘或其他直接存取辅助设备而设计的一种平衡查找树,在B+树中,每个节点的可以有多个孩子,并且按照关键字大小有序排列。所有记录节点都是按照键值的大小顺序存放在同一层的叶节点中。相比B树,其具有以下几个特点: 每个节点上的指针上限为2d而不

  • 本文向大家介绍请你来介绍一下udp的connect函数相关面试题,主要包含被问及请你来介绍一下udp的connect函数时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 除非套接字已连接,否则异步错误是不会反悔到UDP套接字的。我们确实可以给UDP套接字调用connect,然而这样做的结果却与TCP连接不同的是没有三路握手过程。内核只是检查是否存在立即可知的错误,记录对端的IP地址和端口号,

  • 本文向大家介绍请你来介绍一下各种排序算法及时间复杂度相关面试题,主要包含被问及请你来介绍一下各种排序算法及时间复杂度时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 插入排序:对于一个带排序数组来说,其初始有序数组元素个数为1,然后从第二个元素,插入到有序数组中。对于每一次插入操作,从后往前遍历当前有序数组,如果当前元素大于要插入的元素,则后移一位;如果当前元素小于或等于要插入的元素,则将要

  • 本文向大家介绍请你介绍一下volatile关键字?相关面试题,主要包含被问及请你介绍一下volatile关键字?时的应答技巧和注意事项,需要的朋友参考一下 考察点:java关键字 volatile关键字是用来保证有序性和可见性的。这跟Java内存模型有关。比如我们所写的代码,不一定是按照我们自己书写的顺序来执行的,编译器会做重排序,CPU也会做重排序的,这样的重排序是为了减少流水线的阻塞的,引起流