AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ScheduledFuture in Delphi?

Ein Thema von WorstNightmare · begonnen am 8. Okt 2009 · letzter Beitrag vom 17. Okt 2009
 
WorstNightmare

Registriert seit: 6. Okt 2008
159 Beiträge
 
RAD-Studio 2010 Arc
 
#9

Re: ScheduledFuture in Delphi?

  Alt 17. Okt 2009, 18:19
So,

ich bin aus dem Urlaub zurück und habe wieder angefangen mich mit dem Projekt zu beschäftigen.

Es handelt sich um einen Server zu einem MMORPG und der Server muss eben auch die Buffs, die der Spieler gerade aktiviert hat verwalten. Diese deaktivieren sich immer nach einer Zeit, manche nach 4s und manche erst nach 15min. Daher brauche ich eben sowas wie Timer, welche dem Client mitteilen, die entsprechenden Buffs nach der richtigen Zeit abzuschalten, es muss nicht 100% genau sein, es sollten nur nicht mehr als 500ms Abweichung sein.

Ich dachte mir also, ich bastele mir einen Scheduler-Thread, der die ganze Zeit läuft. Dieser würde dann ein Dictionary führen, dessen Key der TickCount in der Zukunft ist und die Value der auszuführende Job (als procedure). In der Execute Schleife wird dann einmal der aktuelle TickCount ermittelt und dann mit allen Keys im Dictionary verglichen und die, welche passen werden ausgeführt.

Folgende Bedenken habe ich:
Zu Bestzeiten könnten im Dictionary 600 Einträge sein, die in jedem Execute verglichen werden, könnte es da irgendwelche Performanceprobleme geben? Sollte ich vielleicht mehrere Scheduler laufen lassen, die jeweils 100 Einträge verwalten oder würde das keinen Sinn machen?
Zusätzlich laufen dann auch noch bis zu 20 Indy-Listener Threads und bis zu 300 Client-Verbindungsthreads, falls das mitbeachtet werden muss.

Was sagt ihr dazu?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz