网络编程
文章平均质量分 92
网络编程学习
小面包爱我
这个作者很懒,什么都没留下…
展开
-
Reactor和Proactor模式简述
Reactor和Proactor模式 前言 如果让一个服务端服务多个客户端,可以来了一个客户,服务端就为这个客户发起的连接创建一个线程,但是当来了很多客户,服务端就要创建很多线程,每个客户完成自己的工作就会离开,此时服务端创建的线程就要销毁,这样就会创建然后销毁很多线程,造成资源浪费。 一个线程对应一个连接的方式不可取,那是不是可以想办法让一个线程对应多个连接呢?我们可以先创建一个线程池,来复用线程池里的线程,让线程池里的每个线程都可以对应多个连接。但是这也会有一个问题:一个线程对应一个连接的时候,这个线原创 2021-11-10 08:40:44 · 220 阅读 · 0 评论 -
五种IO模型
IO多路复用 什么叫IO多路复用 一个进程来维护多个socket,使得程序能同时监听多个文件描述符的技术。 注意:IO复用虽然能同时监听多个文件描述符,但是它本身是阻塞的,并且当多个文件描述符同时就绪的时候,如果不采取额外的措施,程序只能按顺序依次处理其中的每一个文件描述符,这使得服务器程序看起来像是串行工作的,如果要实现并发,就要使用多进程或者多线程等方式。 三个实现IO多路复用的系统调用 select poll epoll 几个需要清楚的点: 首先不同于select和poll,epoll使用多个函数来原创 2021-07-09 08:36:08 · 81 阅读 · 0 评论