当前位置:  开发笔记 > 编程语言 > 正文

套接字服务器中每个客户端连接的新线程

如何解决《套接字服务器中每个客户端连接的新线程》经验,为你挑选了1个好方法。

我试图每次优化多个连接到TCP套接字服务器.

每次收到连接请求时,在监听服务器中启动新线程是否被认为是良好的做法,甚至是合理的?

我应该在什么时候开始担心基于此基础架构的服务器?什么是我可以工作的最大背景线程数,直到它没有任何意义?

平台是C#,框架是Mono,目标操作系统是CentOS,RAM是2.4G,服务器在云端,我预计每秒大约有200个连接请求.



1> Dean Harding..:

不,你不应该每个连接有一个线程.相反,您应该使用异步方法(BeginAccept/EndAccept,BeginSend/EndSend等).这些将更有效地利用系统资源.

特别是,您创建的每个线程都会在上下文切换,堆栈空间,缓存未命中等方面增加开销.例如,Linux在管理这些东西方面比Windows更好,但这不应该成为让你自由创造任意线程的借口;)

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有