Linux高性能服务器编程
五山小新新
希望每天6点下班,然后逛超市,买水果,买牛奶,看美女。
展开
-
服务器的压力测试
压力测试程序有很多种实现方式,比如I/O复用方式,duoxianc原创 2014-09-04 13:35:02 · 1456 阅读 · 0 评论 -
Epoll在LT和ET模式下的读写方式和区别
LT模式:epoll就是一个快速版poll,可读可写就绪条件和传统poll一致ET模式:为了避免Starvation,建议 1)文件描述符设置为非阻塞 2)只在read或write返回EAGAIN后,才能调用下一次epoll_wait 3)应用层维护一个就绪链表,进行轮询,可以防止大量IO时在一个描述符上长期read或write原创 2014-09-04 06:55:30 · 3011 阅读 · 0 评论 -
I/O复用之select、poll和epoll复用函数的比较
前面原创 2014-09-04 06:48:44 · 655 阅读 · 0 评论 -
Linux服务器之信号的使用
1、统一事件源原创 2014-09-04 06:59:15 · 1275 阅读 · 0 评论 -
I/O复用之poll系统调用
poll系统调用和原创 2014-09-03 20:21:58 · 659 阅读 · 0 评论 -
I/O复用——select系统调用
I/O复用使得程序能同时监听多个文件miaos原创 2014-09-03 18:41:50 · 920 阅读 · 0 评论 -
高性能服务器程序框架
我们按照服务器程序的一般yuanli原创 2014-09-02 21:43:50 · 967 阅读 · 0 评论 -
Linux线程池
半同步 / 半反应堆线程池的实现这里我们实现了一个半同步 / 半反应堆并发模式的线程池,代码清单见https://github.com/walkerczb/threadpool 中的 threadpool.h 。该线程池使用一个工作队列完全解除了主线程和工作线程的耦合关系:主线程往工作队列中插入任务,工作线程通过竞争来取得任务并执行它。不过,如果要将该线程池应用到实际服务器程序中,那么我们原创 2014-09-14 12:53:45 · 1078 阅读 · 0 评论 -
Linux进程池的实现
通过动态创建子进程(或者子线程)来实现并发服务器的。这样做有如下缺点: 1、 动态创建进程(或线程)是比较耗费时间的,这将导致较慢的客户响应。 2、动态创建的子进程(或子线程)通常只用来为一个客户服务(除非我们做特殊处理),这将导致系统上产生大量的细微进程(或者线程)。进程(或者线程)间的切换消费大量CPU时间。 3、动态创建的子进程是当前进程的完整映像。当前进程...转载 2014-09-13 23:40:51 · 5978 阅读 · 4 评论 -
Linux服务器之定时器
网络程序需要处理的第三类事件是定时事件。比如定期检测一个客户连接的h原创 2014-09-04 08:39:00 · 1735 阅读 · 2 评论 -
I/O复用之epoll系统调用
1、内核事件表 epoll是Linux特有的I/O复用函数。它在实现和shiy原创 2014-09-03 23:47:18 · 1090 阅读 · 0 评论