请教个问题.
LINUX下, 有时定义一个vector
看我的测试代码,似乎应该是在创建子进程之后创建epoll的fd,否则程序将会有问题,试将代码中两个CreateWorker函数的调用位置分别调用,一个在创建epoll fd之前,一个在之后,在调用在创建之前的代码会出问题:
服务器端:
[code]
#include
Linux 2.6内核中提高网络I/O性能的新方法epoll 正如我昨天在“Linux下各类TCP网络服务器的实现源代码”( http://zhoulifa.bokee.com/5345930.html )一文中提到的那样,I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。 感谢chinaunix.net上朋友safedead( http://bbs.chinaunix.net/viewpro.php?uid=407631 )提醒,我今天仔细研究了一下,证实了在2.6内核中的新的I/O技术epoll。 1、为什么select是...
上篇文章使用linux内核2.6提供的epoll机制实现了一个反应式echo服务器,使用反应式服务器的最大好处就是可以按cpu的数量来配置 线程池内线程的线程数而不是根据客户端的并发量配置线程池。我是第一次使用pthread库来写线程池,使用的是工作队列方式的线程池。我感觉作队列方式 的线程池可以当成一种设计模式来用的,在很多平台上都是可以按这种方式来实现线程池,从win32 ,unix到jvm都是适用的 #include #include #include #...
发现epoll 有个问题, 连接上后,客户端连续发送两个请求,epoll 只检测到一个可读事件! 郁闷, 如果客户端是多线程,有可能同时向同一个socket发送消息,这样服务端这边的epoll就只检测到一个可读事件, 有啥办法没。 对于服务端创建的那个监听socket 可以用 while(1) { accept(); ...