请你来介绍一下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?
2020-01-05 关注 0 浏览1570 1答案
-
请你来介绍一下udp的connect函数
2020-01-30 关注 0 浏览546 1答案
-
请你来介绍一下各种排序算法及时间复杂度
2020-01-30 关注 0 浏览591 1答案
-
请你介绍一下B+树?
2020-01-30 关注 0 浏览1567 1答案
-
请你自我介绍一下你自己?
2020-12-26 关注 0 浏览121 1答案
-
“请你自我介绍一下”
2022-03-09 关注 0 浏览60 0答案
-
请你介绍一下策略模式?
2020-01-28 关注 0 浏览599 1答案
-
请你介绍一下volatile关键字?
2020-01-28 关注 0 浏览1780 1答案
-
请你介绍一下mysql的MVCC机制
2020-01-30 关注 1 浏览3259 1答案
-
请你来说一下reactor模型组成 ?
2020-01-05 关注 0 浏览1086 1答案