游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2487|回复: 3

单线程的连锁效应引发的掉线

[复制链接]

58

主题

1437

帖子

2207

积分

金牌会员

Rank: 6Rank: 6

积分
2207
发表于 2011-12-7 08:35:00 | 显示全部楼层 |阅读模式
在多用户在线的情况的,某些行为会引发服务器广播,
进而触发更多这类行为的连锁效应。
例如团队中某个人下线,对所有团队成员发送广播,
所有团队成员更新当前团队成员列表的行为。
在单线程处理这里问题的情况下,
假设单个成员处理时长是1秒,如果等待时长超过10秒就掉线,
从第一成员开始处理到第11个成员时因为等待时间过长,
第11成员及其之后的成员都掉线了。
这类问题之所以危害严重是因为其非常隐蔽,
因为和网络速度,cpu处理速度,用户数量有关系。
会不规律的出现问题,又很难查找原因,
尤其在一些多人开发的耦合系统,往往变成了死角。

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20515
发表于 2011-12-8 08:48:00 | 显示全部楼层

Re:单线程的连锁效应引发的掉线

可以做个周期时间的侦测

9

主题

75

帖子

112

积分

注册会员

Rank: 2

积分
112
发表于 2011-12-13 12:29:00 | 显示全部楼层

Re:单线程的连锁效应引发的掉线

这样情况都出现,那你服务器几秒才一帧啊......就算人掉线也很正常....总比卡成神好....

6

主题

106

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
发表于 2011-12-16 14:53:00 | 显示全部楼层

Re:单线程的连锁效应引发的掉线

假设单个成员处理时长是1秒,如果等待时长超过10秒就掉线,
从第一成员开始处理到第11个成员时因为等待时间过长,

除非写的有问题,不然我觉得不会出现这种情况。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-9 05:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表