有谁统计过线程个数对系统执行效率的影响?

csoapy 2006-08-07 04:11:37
俺要做的是个网络服务器程序,按规定需支持TCP,由于客户端(数千个)不出意外就会始终在线,数据流量也时多时少,所以想每个客户端对应一个线程,这样一来线程又多了,几千个线程一两万块钱的那种服务器能承受得了?TCP时打算用阻塞式socket。
...全文
180 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
僵哥 2006-08-08
  • 打赏
  • 举报
回复
抱歉,是"线程过多,..."

由于掉线了,所以只须对相应分配的资源进行释放或者再分配(即置为闲置状态),并且此时线程仍然可以服务于其它IO,而并不影响服务器的整体性能.
csoapy 2006-08-08
  • 打赏
  • 举报
回复
呵呵,怪我,原来有表述不清的地方“客户端(数千个)不出意外就会始终在线”,问题是,它不稳定、常出意外,就要再登录。这样一来,线程池的话,是否就不大适用了?因为另外“线程过程,内核在各线程间切换将会带来相当的消耗.”这句话是什么意思?
僵哥 2006-08-07
  • 打赏
  • 举报
回复
在这种情况下最好考虑使用线程池.一来线程可以在一定程度上面增加各线程的利用率,二来还可以在一定范围内对线程以及网络交互起到调度作用.线程过程,内核在各线程间切换将会带来相当的消耗.
DentistryDoctor 2006-08-07
  • 打赏
  • 举报
回复
由于客户端(数千个)不出意外就会始终在线.

应该考虑IOCP。

线程太多,context switch带来的额外开销将是无法忍受的。

15,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧