![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux高并发模型
zhuoyue01
这个作者很懒,什么都没留下…
展开
-
本地套接字---domain
本地套接字—domainsocket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层...原创 2020-05-04 15:53:30 · 301 阅读 · 0 评论 -
UDP高并发---服务器/客户端
UDP服务器传输层主要应用的协议模型有两种,一种是TCP协议,另外一种则是UDP协议。TCP协议在网络通信中占主导地位,绝大多数的网络通信借助TCP协议完成数据传输。但UDP也是网络通信中不可或缺的重要通信手段。相较于TCP而言,UDP通信的形式更像是发短信。不需要在数据传输之前建立、维护连接。只专心获取数据就好。省去了三次握手的过程,通信速度可以大大提高,但与之伴随的通信的稳定性和正确率便得...原创 2020-05-04 10:42:13 · 3478 阅读 · 0 评论 -
高并发服务器---多进程/多线程
高并发服务器高并发服务器框架网上看到这张图不错,就拿过来了。多进程并发服务器父进程监听,子进程领任务做具体逻辑的实现。父进程关闭cfd,close(cfd),子进程关闭lfd,close(lfd),因为父子进程共享文件描述符表。子进程回收机制,通过信号捕捉函数while(1){waitpid()...}捕捉的信号SIGCHLD()进程死亡只能由父进程回收使用多进程并发服务器时...原创 2020-05-04 10:30:18 · 741 阅读 · 0 评论 -
线程池thread_pool源码分析
线程池thread_pool源码分析#include <stdlib.h>#include <pthread.h>#include <unistd.h>#include <assert.h>#include <stdio.h>#include <string.h>#include <signal.h>...原创 2020-04-29 21:37:15 · 284 阅读 · 0 评论 -
libevent库epoll反应堆模型源码分析
libevent库epoll反应堆模型源码分析/* *epoll基于非阻塞I/O事件驱动 */#include <stdio.h>#include <sys/socket.h>#include <sys/epoll.h>#include <arpa/inet.h>#include <fcntl.h>#include &l...原创 2020-04-29 21:33:59 · 234 阅读 · 0 评论 -
多路转接I/O select/poll/epoll高并发模型详解
select/poll/epoll详解select1.select能监听的文件描述符个数受限于FD_SETSIZE,一般为1024,单纯改变进程打开的文件描述符个数并不能改变select监听文件个数2.解决1024以下客户端时使用select是很合适的,但如果链接客户端过多,select采用的是轮询模型,会大大降低服务器响应效率。#include <sys/select.h>...原创 2020-04-29 00:03:04 · 357 阅读 · 0 评论