
Linux
文章平均质量分 86
Michealzn
练习、精深、热情
展开
-
10万并发的高性能c++ webserver设计与实现
简介 该项目使用c++11,参考muduo实现的静态web服务器。muduo网络库使用线程池+电平触发式epoll+NIO的Reactor模式实现。该项目汲取muduo的优点,并简化设计。采用线程池+边沿触发式epoll+NIO的Reactor模式实现,各个工作线程采用RR方式(Round Robin)来公平分配请求,同时引入了应用层心跳,来处理超时连接。该webserver支持长...原创 2019-12-22 17:52:30 · 6133 阅读 · 1 评论 -
Linux操作系统pipe()-execlp()-dup2()分析
Linux操作系统pipe()-execlp()-dup2()分析目标:使用Linux system call API实现sort | uniq | wc -l < data.txt。涉及的知识点:使用C调用shell命令 使用管道,在各命令间通信 标准输入输出重定向execlp()执行shell command头文件:<unistd.h>函数原型...原创 2019-03-03 19:39:47 · 1429 阅读 · 1 评论 -
Linux操作系统select非阻塞操作socket分析
socket在很多应用常见下,单进程单线程,调用socket(),connect(),read(),write()等一套,对单个socket服务。但在多socket场景下,这样的方法行不通了。server会在accept()时阻塞,等待client连入,那么到底是监听端口8080先accept(),还是监听端口8086先accept()。这就需要引入非阻塞式轮询各个socket的状态,当他...原创 2019-04-21 09:58:39 · 1154 阅读 · 0 评论