IO多路复用模型
荒野之萍
个人主页: https://icoty.github.io
Github: https://github.com/icoty
展开
-
基于共享内存、信号、命名管道和Select模型实现聊天窗口
问题模型 A、B两个进程通过管道通信,A 进程每次接收到的数据通过共享内存传递给A1进程显示,同理,B进程每次接收到的数据通过共享内存传递给B1进程显示; 对于A、B 进程,采用ctrl+c(实际为SIGINT信号)方式退出,A、B进程通过捕捉SIGINT信号注册信号处理函数进行资源清理,A1、B1进程手动关闭即可。 特别注意 A、B通过管道通信,如果首先通过ctrl+c退出A进程,那么B...原创 2019-04-18 09:17:53 · 427 阅读 · 0 评论 -
基于线程池、消息队列和epoll模型实现并发服务器架构
文章目录引言需求原型需求分解详细设计文档效果源码获取目录结构参考文献 引言 并发是什么?企业在进行产品开发过程中为什么需要考虑这个问题?想象一下天猫的双11和京东的618活动,一秒的点击量就有几十万甚至上百万,这么多请求一下子涌入到服务器,服务器需要对这么多的请求逐个进行消化掉,假如服务器一秒的处理能力就几万,那么剩下的不能及时得到处理的这些请求作何处理?总不能让用户界面一直等着,因此消息队列应运...原创 2019-06-07 23:26:46 · 761 阅读 · 0 评论 -
epoll源码分析(基于linux-5.1.4)
文章目录API内核数据结构全局调用关系epoll模块初始化&内存池开辟epoll_createepoll_create/epoll_create1陷入内核do_epoll_create/ep_allocanon_inode_getfile/alloc_file_pseudo/alloc_fileepoll_ctlepoll_ctl陷入内核ep_findep_insertkmem_cache...原创 2019-06-07 23:32:52 · 1096 阅读 · 0 评论