Below you will find pages that utilize the taxonomy term “Epool”
September 4, 2018
IO多路复用机制详解(转)
"\u003cp\u003e服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:\u003c/p\u003e\n\u003cp\u003e(1)\u003cstrong\u003e同步阻塞IO\u003c/strong\u003e(Blocking IO):即传统的IO模型。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://blog--static.oss-cn-shanghai.aliyuncs.com//uploads/2023/09/image-20230904182909126.png\" alt=\"image-20230904182909126\"\u003e\u003c/p\u003e\n\u003cp\u003e(2)\u003cstrong\u003e同步非阻塞IO\u003c/strong\u003e(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://blog--static.oss-cn-shanghai.aliyuncs.com//uploads/2023/09/image-20230904182842534.png\" alt=\"image-20230904182842534\"\u003e\u003c/p\u003e\n\u003cp\u003e(3)\u003cstrong\u003eIO多路复用\u003c/strong\u003e(IO Multiplexing):即经典的 \u003ca href=\"https://blog.csdn.net/linxcool/article/details/7771952\"\u003e反应器Reactor设计模式\u003c/a\u003e,有时也称为异步阻塞IO,Java中的Selector和Linux中的epoll都是这种模型。高性能并发服务程序使用IO多路复用模型+多线程任务处理的架构。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://blog--static.oss-cn-shanghai.aliyuncs.com//uploads/2023/09/image-20230904182800068.png\" alt=\"image-20230904182800068\"\u003e\u003c/p\u003e\n\u003cp\u003e(4)\u003cstrong\u003e异步IO\u003c/strong\u003e(Asynchronous IO):即经典的 \u003ca href=\"https://blog.csdn.net/xiongping_/article/details/45152333\"\u003eProactor设计模式\u003c/a\u003e,也称为异步非阻塞IO。不经常用。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://blog--static.oss-cn-shanghai.aliyuncs.com//uploads/2023/09/image-20230904182813616.png\" alt=\"image-20230904182813616\"\u003e\u003c/p\u003e\n\u003cp\u003e高性能I/O设计模式Reactor和Proactor: \u003ca href=\"https://blog.csdn.net/xiongping_/article/details/45152333\"\u003ehttps://blog.csdn.net/xiongping_/article/details/45152333\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.cnblogs.com/aspirant/p/9166944.html\"\u003eselect、poll、epoll之间的区别(搜狗面试)\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e转自: …\u003c/p\u003e"