epollin 第2页
- 精讲NtyCo的实现(附代码实现及视频详解)
-
前言协程这个概念很久了,好多程序员是实现过这个组件的,网上关于协程的文章,博客,论坛都是汗牛充栋,在知乎,github上面也有很多大牛写了关于协程的心得体会。突发奇想,我也来实现一个这样的组件,并测试了一下性能。借鉴了很多大牛的思想,阅读了很多大牛的代码。于是把整个思考过程写下来。代码简单易读,如果...
- Nginx学习之Nginx高性能的实现原理
-
Nginx采用的是多进程(单线程)&多路IO复用模型,使用了I/O多路复用技术的Nginx,就成了”并发事件驱动“的服务器,同时使用sendfile等技术,最终实现了高性能。主要从以下几个方面讲述Nginx高性能机制:...
- 为什么Redis 单线程却能支撑高并发?
-
作者:Draveness来源:draveness.me/redis-io-multiplexing最近在看UNIX网络编程并研究了一下Redis的实现,感觉Redis的源代码十分适合阅读和分析,其中I/O多路复用(mutiplexing)部分的实现非常干净和优雅,在这里想对这部分的内...
- 通过redis学网络(1)-用go基于epoll实现最简单网络通信框架
-
本系列主要是为了对redis的网络模型进行学习,我会用golang实现一个reactor网络模型,并实现对redis协议的解析。...
- Linux网络编程“惊群”问题总结 linux惊群效应详解
-
1、前言 我从事Linux系统下网络开发将近4年了,经常还是遇到一些问题,只是知其然而不知其所以然,有时候和其他人交流,搞得非常尴尬。如今计算机都是多核了,网络编程框架也逐步丰富多了,我所知道的有多进程、多线程、异步事件驱动常用的三种模型。最经典的模型就是Nginx中所用的Master-Worke...
- 10张图带你搞定高并发之网络IO模型
-
今天我们聊一下高并发下的网络IO模型高并发即我们所说的C10K(一个server服务1w个client),C10M,写出高并发的程序相信是每个后端程序员的追求,高并发架构其实有一些很通用的架构设计,如无锁化,缓存等,今天我们主要研究下高并发下的网络IO模型设计,我们知道不管是N...
- 深入剖析 Netty 源码设计——深入理解 select poll epoll 机制
-
前言打算输出一系列Netty源码分析与实践的文章,也作为后端开发学习过程中的沉淀,此文章为第一篇,从操作系统底层的IO讲起,为Netty的出场做下知识准备。一些概念文件描述符文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有...
- 进程池和线程池 - 半同步/半异步进程池实现
-
本文我们基于下图所示的半同步/半异步并发模式来实现进程池:为了避免在父、子进程之间传递文件描述符,我们将接受新链接的操作放到子进程中。对于这种模式而言,一个客户连接上的所有任务始终是由一个子进程来处理的。代码如下:#ifndefPROCESSPOOL_H#definePROCESSPOOL_H...
- 面试官:为什么Redis单线程却能支撑高并发?
-
最近在看UNIX网络编程并研究了一下Redis的实现,感觉Redis的源代码十分适合阅读和分析,其中I/O多路复用(mutiplexing)部分的实现非常干净和优雅,在这里想对这部分的内容进行简单的整理。几种I/O模型为什么Redis中要使用I/O多路复用这种技术呢?首先...
- linux下socket采用epoll编程demo 在云上登录linux云主机时,采用哪种方式呢啊
-
首先,需要调用epoll_create创建epoll;此后我们就可以进行socket/bind/listen;然后调用epoll_ctl进行注册;接下来,就可以通过一个while(1)循环调用epoll_wait来等待事件的发生;然后循环查看接收到的事件并进行处理;1)如果事件是sever...