Chinaunix

标题: 网络服务器投递任务到线程池的思路问题! [打印本页]

作者: aaadddzxc    时间: 2013-07-03 15:54
标题: 网络服务器投递任务到线程池的思路问题!
服务器采用的是EPOLL +线程池 来实现的,接受到数据后通过回调函数传给上层应用,上层应用实现了这个回调函数并且在回调函数里面进行数据的组成我们想要的完整的包。
然后单独启动个线程来获取这写客户端发送过来的包并且投递到任务线程池队列中
现在问题是,这个单独启动的线程很慢轮训,他是轮训现有的客户端获取包投递任务的。数据很快接受完了,他还在那里投递任务,我就纳闷了,咋这么慢。请问怎么处理这种情况。如何让效率提升?
作者: aaadddzxc    时间: 2013-07-03 15:55
或者什么思路更好!
作者: csumck    时间: 2013-07-03 16:29
是每隔几毫秒就轮询一次有没有任务要执行那种?  这种轮询本来就慢吧,线程之间之间用socket、管道、信号量等通信都比这中轮询要快。
作者: aaadddzxc    时间: 2013-07-03 17:35
接受到数据 组成一个包后,然后怎么做?流程是什么?
作者: linux_c_py_php    时间: 2013-07-03 19:20
多线程并发I/O+业务, 而不是把读和写分离到不同线程, 方向错了.
作者: linux_c_py_php    时间: 2013-07-03 19:20
多线程并发I/O+业务, 而不是把读和写分离到不同线程, 方向错了.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2