关于游戏服务器线程的疑问

跑步的丸子 2013-05-23 11:09:01
小弟是这样想的,应该是有多少个客户端就应该有有多少个线程去处理这些客户端的请求,这个用线程池就可以做,是不是?再一个就是一个客户端可能发过来了多个请求,比如走路,打开背包,攻击啊什么的,那对于这一个客户端的请求是不是也应该用多个线程去处理,因为如果一个线程去处理必须得等他执行完了这一个动作然后再去执行别的动作,是不是应该是这样的?
...全文
446 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
卢飞鹏 2013-08-31
  • 打赏
  • 举报
回复
一般IO线程有多个,逻辑线程一个
elated 2013-06-28
  • 打赏
  • 举报
回复
网游是一种高并发的线上系统,多半不会采用一连接一线程的模型的 用的比较多的是IO轮询复用,linux下的poll/epoll,win下的IOCP
黑娃 2013-06-22
  • 打赏
  • 举报
回复
线程池肯定是要用的,但不会是一个玩家一个线程,更不会给一个玩家多个请求用多个线程。。。 通常是一个场景一个线程,场景中的所有单位作出的所有动作是实时且有先后顺序的,服务器严格按照心跳时间执行这些动作,这次做不到的就下次做,正符合单位动作的先后顺序,不会因为某个动作被挂起,如果必须延迟,也可以通过其他方式返回结果。 如果用多线程来做这个事情是费力不讨好的,因为单位的动作集合本就有先后顺序,如果多线程强行并发会打乱其顺序,于逻辑不合理。相反,不论服务器的效率如何,对于同一场景的单位,单线程的处理是公平的。
跑步的丸子 2013-05-24
  • 打赏
  • 举报
回复
引用 2 楼 liuxingzdh 的回复:
如果一个游戏可以三千人在线,那服务器是不是要开三千个线程?
用线程池么。。。。主要问的不是这个,想问对于一个客户端他的多个请求是不是也该用多线程处理
陆远 2013-05-23
  • 打赏
  • 举报
回复
服务器开的线程一般是根据服务器cpu 的 core 决定的 开多了 线程会降低性能的!!!用epoll 等或者去看下陈硕写的东西
芳草天 2013-05-23
  • 打赏
  • 举报
回复
如果一个游戏可以三千人在线,那服务器是不是要开三千个线程?

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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