0

私の場合、ソケットを処理する CLR スレッドプールと、その他のもの用のマネージド スレッドプールを備えたゲーム サーバーがあります。npcが呪文を唱えたり、一定期間後にデスポーンしたりするようなイベントを処理する最良の方法は何かを理解しようとしています.

new TimedEvent(1500, npc.Cast(Spells.FireBall)); のように、実行したいアクションごとに新しい (管理された) スレッドプール スレッドを取得するある種のタイマー ラッパーを書くことができます。システム時間と照合させますが、そのような複数のタイマーが実行されていると、それぞれ個別に経過時間をチェックするのは非効率的だと思います。ある種のディスパッチャースレッドの方が良いでしょうか?

前もって感謝します。

4

1 に答える 1

0

そのサーバーアプリを知らない場合は、UOX3がどのようにそれを行うかを見てください。これは .Net/C# Ultima Online サーバーです。

そして、あなたの具体的な質問に。予想されるイベントの数によって異なります。1 秒あたり数千回を期待する場合、タイマー/スレッドの方法は実際にはうまく機能しない可能性があります。

于 2009-10-17T14:44:21.180 に答える