你来说说罕用网络模型有哪些 面试官
网络 I/O 模型是选择系统如何治理和处置输入和输入操作的战略和机制。它们关于高效数据传输、处置多个并发衔接和优化性能至关关键。
以下是关键的网络 I/O 模型及其经常使用案例:
01 阻塞式 I/O 模型
在阻塞 I/O 模型中,线程的口头会暂停,直到 I/O 操作成功。在此时期,线程不能口头任何其余义务。
经常使用场景
02 非阻塞 I/O 模型
在非阻塞 I/O 模型中,即使数据尚未可用,I/O 操作也会立刻前往。运行程序可以在期待 I/O 操作成功的同时口头其余义务。
经常使用场景
03 I/O 复用模型
I/O 多路复用经常使用 select()、poll() 或 epoll() 等机制同时监控多个 I/O 流。当可以在不阻塞的状况下口头一个或多个 I/O 操作时,运行程序会收到通知。
经常使用场景
04 异步 I/O 模型
在异步 I/O 模型中,运行程序启动 I/O 操作并继续处置。I/O 操作成功后,系统通常会经过回调或信号通知运行程序。
经常使用场景
05 信号驱动 I/O
信号驱动 I/O(SIGIO)是 Unix 类操作系统中的一种机制,它准许进程在可以对文件形容符口头 I/O 操作时取得异步通知,而无需阻塞。详细做法是,当文件形容符可以读写时,向进程发送一个信号(通常是 SIGIO)。
经常使用场景
06 选用正确的模型
网络 I/O 模型的选用取决于运行需求、性能思考、复杂性和运行运转环境等起因。例如: