一个线程占用5%的CPU,那么20个客户端连接不就没了吗!!!!

redsunxin 2017-12-08 03:58:35


1.我在线程的while的最后一行是加了Sleep(1)的;
2.线程中有调用第三方DLL函数的。
还有没有优化的办法?我该怎么办。
...全文
465 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohuh421 2017-12-13
  • 打赏
  • 举报
回复
理论上可以这么算, 但 实际上, 系统会比较公平和智能, 会分一部分资源给其它线程的, 甚至有些会预留一些CPU不让使用.
redsunxin 2017-12-12
  • 打赏
  • 举报
回复
引用 9 楼 oyljerry 的回复:
成千的客户端,那么就要用IO多路复用等,不能一个客户端就一个线程,用IOCP+线程池
您说的是最重要的,正在了解IOCP,以前做客户端的,不知道服务器端这么多套路。
赵4老师 2017-12-11
  • 打赏
  • 举报
回复
不要迷信书、考题、老师、回帖; 要迷信CPU、编译器、调试器、运行结果。 并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。 任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!
danscort2000 2017-12-11
  • 打赏
  • 举报
回复
你不会是每连接就开一个线程吧? 这种实现的优点是响应速度特别快,而且均衡,抗攻击能力强 但是缺点是,系统资源开销大,只适合小规模服务,例如100-200人左右 你要执行海量服务, 应该采用类似ngix这样的实现 把每个连接的数据部分独立出来,根据cpu核心数量开启执行线程,一个连接对应一个数据结构而不是线程 一般采用epoll 或者 overlap/io等异步消息驱动 优点是对用户连接数量不敏感,可以支持大量的用户并发连接 缺点是 如果某几个连接属于恶意连接并连续发送某些特定攻击指令,或者你自己的处理线程写的不够周全 遇到攻击很容易出现"服务暂停"这种情况,或者过载
sichuanwww 2017-12-11
  • 打赏
  • 举报
回复
redsunxin 2017-12-11
  • 打赏
  • 举报
回复
引用 7 楼 danscort2000 的回复:
你不会是每连接就开一个线程吧? 这种实现的优点是响应速度特别快,而且均衡,抗攻击能力强 但是缺点是,系统资源开销大,只适合小规模服务,例如100-200人左右 你要执行海量服务, 应该采用类似ngix这样的实现 把每个连接的数据部分独立出来,根据cpu核心数量开启执行线程,一个连接对应一个数据结构而不是线程 一般采用epoll 或者 overlap/io等异步消息驱动 优点是对用户连接数量不敏感,可以支持大量的用户并发连接 缺点是 如果某几个连接属于恶意连接并连续发送某些特定攻击指令,或者你自己的处理线程写的不够周全 遇到攻击很容易出现"服务暂停"这种情况,或者过载
我是一个socket开一个线程啊,后来我把sleep加长了,就不占用CPU了,数据延迟就延迟一点吧。
redsunxin 2017-12-11
  • 打赏
  • 举报
回复
引用 5 楼 smwhotjay 的回复:
代码问题,自己找原因。
老哥稳,真是代码问题,一个continue前没加sleep
oyljerry 2017-12-11
  • 打赏
  • 举报
回复
成千的客户端,那么就要用IO多路复用等,不能一个客户端就一个线程,用IOCP+线程池
smwhotjay 2017-12-09
  • 打赏
  • 举报
回复
代码问题,自己找原因。
走好每一步 2017-12-09
  • 打赏
  • 举报
回复
20个连接就没了? 这个太尴尬了吧
worldy 2017-12-08
  • 打赏
  • 举报
回复
引用 2 楼 redsunxin 的回复:
[quote=引用 1 楼 worldy 的回复:] 不能这么算的,当线程更多后,每个线程所占的比例会跟随下降
这是个问题啊,我这边服务器只有一台,客户端却是成千上万,我在想怎么优化呢。难道只有服务器集群的办法吗?[/quote] 使用完成端口,高性能服务器,再不行使用服务器集群
redsunxin 2017-12-08
  • 打赏
  • 举报
回复
引用 1 楼 worldy 的回复:
不能这么算的,当线程更多后,每个线程所占的比例会跟随下降
这是个问题啊,我这边服务器只有一台,客户端却是成千上万,我在想怎么优化呢。难道只有服务器集群的办法吗?
worldy 2017-12-08
  • 打赏
  • 举报
回复
不能这么算的,当线程更多后,每个线程所占的比例会跟随下降

15,471

社区成员

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

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