- 博客(2)
- 收藏
- 关注
原创 epoll原理及反应堆模型
前言 设想一个场景:有100万用户同时与一个进程保持着TCP连接,而每一时刻只有几十个或几百个TCP连接是活跃的(接收TCP包),也就是说在每一时刻进程只需要处理这100万连接中的一小部分连接。那么,如何才能高效的处理这种场景呢?进程是否在每次询问操作系统收集有事件发生的TCP连接时,把这100万个连接告诉操作系统,然后由操作系统找出其中有事件发生的几百个连接呢?实际上,在Linux2.4版本以前,那时的select或者poll事件驱动方式是这样做的。 这里有个非常明显的问题,即在某一时刻,进程收集有事件的
2020-12-06 23:34:17 116
原创 IO多路复用中 select、poll、epoll
IO多路复用中 select、poll、epoll 什么是IO多路复用? IO多路复用就是一种同步IO模型,实现一个线程可以监视多个文件句柄;一旦某个文件句柄就绪,就能够通知应用程序进行相应的读写操作;没有文件句柄就绪时会阻塞应用程序,交出cpu。多路是指网络连接,复用指的是同一个线程。 一般来说,我们通常是一个请求就是一个线程,这样会造成多个线程同时存在,会造成上下文的切换造成不必要的开销。IO多路复用是指一个线程来管理这一个个的请求。 文件句柄博客 实现原理 select 方法 原理 虚线上面
2020-12-06 22:09:44 297
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人