免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1619 | 回复: 5
打印 上一主题 下一主题

[C] 网络服务器投递任务到线程池的思路问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-07-03 15:54 |只看该作者 |倒序浏览
服务器采用的是EPOLL +线程池 来实现的,接受到数据后通过回调函数传给上层应用,上层应用实现了这个回调函数并且在回调函数里面进行数据的组成我们想要的完整的包。
然后单独启动个线程来获取这写客户端发送过来的包并且投递到任务线程池队列中
现在问题是,这个单独启动的线程很慢轮训,他是轮训现有的客户端获取包投递任务的。数据很快接受完了,他还在那里投递任务,我就纳闷了,咋这么慢。请问怎么处理这种情况。如何让效率提升?

论坛徽章:
0
2 [报告]
发表于 2013-07-03 15:55 |只看该作者
或者什么思路更好!

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2013-07-03 16:29 |只看该作者
是每隔几毫秒就轮询一次有没有任务要执行那种?  这种轮询本来就慢吧,线程之间之间用socket、管道、信号量等通信都比这中轮询要快。

论坛徽章:
0
4 [报告]
发表于 2013-07-03 17:35 |只看该作者
接受到数据 组成一个包后,然后怎么做?流程是什么?

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
5 [报告]
发表于 2013-07-03 19:20 |只看该作者
多线程并发I/O+业务, 而不是把读和写分离到不同线程, 方向错了.

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
6 [报告]
发表于 2013-07-03 19:20 |只看该作者
多线程并发I/O+业务, 而不是把读和写分离到不同线程, 方向错了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP