|
发表于 2011-3-17 20:47:39
|
显示全部楼层
当有多个连接时,是可以用多线程接收请求。你可以用一个线程检查是否有socket可读,把可读的socket加入socket队列,一个线程池处理这个socket队列,这个线程池中的线程从队列中读取一个socket然后收取请求放入请求队列,另一个线程池中的线程处理这个请求队列并发送应答。可以改改 man epoll中的例子,把do_use_fd(events[n].data.fd)实现为“把socket放入队列”,然后再加两个线程池来实现。 |
|