0

就我而言,我有一个游戏服务器,CLR 线程池处理套接字,还有一个托管线程池用于其他东西。我试图弄清楚处理事件的最佳方式是什么,比如一个 npc 施法,或者在一段时间后消失。

我可以编写某种 Timer 包装器,为我要执行的每个操作获取一个新的(托管)线程池线程,例如 new TimedEvent(1500, npc.Cast(Spells.FireBall)); 并让它检查系统时间,但是,我认为,有多个像这样运行的计时器,每个单独检查经过的时间是低效的。某种调度程序线程会更好吗?

提前致谢。

4

1 回答 1

0

看看UOX3是如何做到这一点的,以防您不知道该服务器应用程序。这是一个 .Net/C# Ultima Online 服务器。

对于你的具体问题。这取决于您期望的事件数量。如果您期望每秒数千次,则计时器/线程方式可能无法很好地工作。

于 2009-10-17T14:44:21.180 回答