首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多线程服务器,瓶颈问题

多线程服务器,瓶颈问题
EN

Stack Overflow用户
提问于 2009-11-01 16:17:22
回答 1查看 375关注 0票数 0

我正在开发一个多线程服务器,到目前为止工作得很好-1个单独的线程用于客户端接受,线程池用于数据读取和处理。今天,我添加了新的线程来做一些事情,并每隔500ms向客户端发送消息(只有2-5条消息)。我注意到了相当大的速度减慢,但我不确定为什么-它是独立的线程,而且不是由于迭代和锁定集合,因为当我在SendMessage调用之前添加//时,它仍然和以前一样快。SendMessage基本上迭代所有连接的客户端,并为每个客户端调用SendData方法,该方法将数据写入其网络流。我遗漏了什么?我仍然认为这是不同的线程,我希望这不是由于stream.write..提前谢谢你!

EN

回答 1

Stack Overflow用户

发布于 2009-11-01 18:01:07

线程&类似套接字服务器的线程池是一种古老的方式。它非常不可伸缩(最好不要有比核心更多的线程),并且充满了锁。

尝试将您的代码转换为异步代码。您只需要一个线程,并且每当输入到达或可以发送新数据时,您都会收到回调。由此产生的代码速度更快,并且没有这些瓶颈问题。

我知道这样的建议:不,不,像这样重写所有你应该做的事情,并不是真的有帮助,因为它没有回答你问的问题。但如果你真的有时间,我仍然认为这是一个好建议。否则,这对您的下一台服务器是很好的建议;^)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1656650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档