《来说说epoll+线程池》的相关内容
相关讨论
SPServer : 一个基于线程池(包括HAHS和LF)的高并发 server 框架
spserver 是一个实现了半同步/半异步(Half-Sync/Half-Async)和领导者/追随者(Leader/Follower) 模式的服务器框架,能够简化 TCP server 的开发工作。
spserver 使用 c++ 实现,目前实现了以下功能:
1.封装了 TCP server 中接受连接的功能;
2.使用非阻塞型I/O和事件驱动模型,由主线程负责处理所有 TCP 连接上的数据读 ...
by iunknown 2007-03-14 浏览 (24657) 回复 (55) 关键字: c++ libevent half-sync/half-async leader/follower 并发服务器
linux 2.6内核epoll用法举例说明(续)--给echo服务器增加读线程池
上篇文章使用linux内核2.6提供的epoll机制实现了一个反应式echo服务器,使用反应式服务器的最大好处就是可以按cpu的数量来配置线程池 内线程的线程数而不是根据客户端的并发量配置线程池。我是第一次使用pthread库来写线程池,使用的是工作队列方式的线程池。我感觉作队列方式的线程 池可以当成一种设计模式来用的,在很多平台上都是可以按这种方式来实现线程池,从win32 ,unix到jvm都 ...
by li-yuan@163.com 2004-12-08 浏览 (542) 回复 (0) 关键字:
linux 2.6内核epoll用法举例说明
epoll是linux 2.6加入的用于I/O事件多路分离的一组函数,这组函数简化了反应式socket服务器的编程,并且很大程度提高了性能。从一定程度上弥补了LINUX内核对异步I/O支持的不足,epoll机制加上非阻塞I/0可以模拟实现异步I/O。本文主要是说明如何使用epoll机制来编写一个echo服务器。
...
by li-yuan@163.com 2004-11-29 浏览 (750) 回复 (0) 关键字: epoll
相关博客
[摘录]epoll学习笔记
注:内容皆是摘录
Linux 2.6内核完全支持epoll.
epoll的IO效率不随FD数目增加而线性下降
传统的select/poll每次调用都会线性扫描全部的集合,导致效率呈现线性下降。
内核实现中epoll是根据每个fd上面的callback函数实现的。只有"活跃"的socket才会主
动的去调用 callback函数,其他idle状态socket则不会。
如果所有的socke ...
by zuroc 2007-12-08 浏览 (661) 回复 (0) 关键字:
linux 2.6内核epoll用法举例说明(续)--给echo服务器增加读线程池
上篇文章使用linux内核2.6提供的epoll机制实现了一个反应式echo服务器,使用反应式服务器的最大好处就是可以按cpu的数量来配置线程池 内线程的线程数而不是根据客户端的并发量配置线程池。我是第一次使用pthread库来写线程池,使用的是工作队列方式的线程池。我感觉作队列方式的线程 池可以当成一种设计模式来用的,在很多平台上都是可以按这种方式来实现线程池,从win32 ,unix到jvm都 ...
by li-yuan@163.com 2004-12-08 浏览 (213) 回复 (0) 关键字:
linux 2.6内核epoll用法举例说明
epoll是linux 2.6加入的用于I/O事件多路分离的一组函数,这组函数简化了反应式socket服务器的编程,并且很大程度提高了性能。从一定程度上弥补了LINUX内核对异步I/O支持的不足,epoll机制加上非阻塞I/0可以模拟实现异步I/O。本文主要是说明如何使用epoll机制来编写一个echo服务器。
...
by li-yuan@163.com 2004-11-29 浏览 (453) 回复 (0) 关键字: epoll
一个简短的epoll服务器示例, 监听5000个端口, 使用线程池
文章地址:
http://www.cublog.cn/u/17999/showart.php?id=159057
运行这个程序需要预先设置栈内存和文件描述符上限, 否则运行失败
ulimit -n 16384
ulimit -s 4096
文件名:server.c
编译: gcc server.c -Wall -O2 -pthread -o server
程序源码如下(请自行 ...
by famoushz 2007-06-13 浏览 (308) 回复 (0) 关键字:
仿mbuf机制实现自己的不定长内存池
最近在考虑一个客户端底层通讯模块的实现问题,我需要做的就是把我的套接字绑定到窗口上,当套接字有事件产生,比如可读,关闭等消息的时候,直接通过窗口消息通知我,我在做一定的处理,客户端需要实现一个可伸缩的内存池来管理通讯的数据,上层在一桢中可压入许多待发送的数据,底层在一桢可接受许多服务器端的数据。所以我打算使用变长的内存池来实现,以前看过tcp/ip底层的mbuf实现机制,感觉很不错,所以这次做了一 ...
by 关中刀客 2008-05-22 浏览 (82) 回复 (1) 关键字: c++
相关圈子讨论
如何处理大量并发连接的超时
最近用epoll实现了一个reactor架构的网络框架,利用epoll的一些特性,实现了Reactor/LFReactor/HSHAReactor。Reactor是单线程的;LFReactor利用epoll_wait允许多个线程调用的特点,多个线程排队不用线程锁就可以完成;只有HSHAReactor使用了一个同步队列,测试性能也还不错。
另一个一直在犹豫的功能没加进去,就是连接超时。由于TCP本 ...
by qiezi 2007-08-08 浏览 (671) 回复 (2)
问个socket的问题。
在写socket程序的时候,现在出现了一个问题。具体的是什么原因,没有找到。google上和论坛里都没有找到。请大人们帮忙解决。问题是这样的:一个Server端。一个Client端。Server接收数据时候,因为client端的socket关闭了。(是我手动关闭的,用来模拟数据传输失败的场景),结果Server端的程序都死掉了。实在是找不出原因。本人采用的操作系统:Server端是红帽企业版3.0 ...
by RyanPoy 2007-06-12 浏览 (2119) 回复 (14)
打算把DTwisted开放出来
从twisted移植了一些接口过来,稍作了些简化,暂命名为DTwisted。在google code上申请了项目,却一直连接不上。
关于它的历史,可以看这里:
D语言和python的差异
基本上编写它只有3天,加起来大概5小时吧,所以还很简陋,只实现了listen tcp,代码也只有400多行。文档和注释都没有写,因为中间架构修改太多了,现在基本上定型。协议打算采用BSD,我也不是很熟悉,好 ...
by qiezi 2007-01-11 浏览 (1385) 回复 (14)
消息中间件及WebSphere MQ入门
阅读提示:通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。
消息中间件概述
消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。
在分布式计算环境中,为了集成分布式应 ...
by IBM文章编辑 2007-08-06 浏览 (1978) 回复 (0)
相关新闻
基于Spindle的增强HTTP Spider
构建于lucene之上的可用的Java开源Spider少之又少,spindle长期没有更新且功能不够完善,故而自己参考其源
代码重新编写了一个可扩展的WebCrawler,本着开源共享,共同进步的想法发布于此,期冀得到大家的批评指正,
有任何意见及建议均可Email联系我(kaninebruno@hotmail.com)
以下代码基于lucene-2.3.1,htmlparser-1.6, ...
by brunoplum 2008-04-01 浏览 (1098) 回复 (5) 关键字: spindle
推荐知识库条目
Comming soon

