Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

Dateiliste effektiv downloaden

  Alt 30. Mär 2008, 15:05
Hallo DP,
ich habe eine Frage:
Und zwar programmiere ich einen Nachfolger von Quick Download (Qd).

Da man bei Qd meistens mehrere Dateien hat, möchte ich diese parallel downloaden.
Entweder lastet man seine Bandbreite besser aus, oder man entlastet die Server. (Je nach Downstream von einen selbst und den Upstream des Servers)

Wie macht man das nun am besten?
Zuerst habe ich gedacht: Machst du einfach mehere Threads (vom Benutzer einstellbar), welche alle auf die Liste zugreifen (threadsafe?) und diese durchgehen und überprüfen ob die Datei gedownloadet werden kann.
  • Vorteil:
    • Effektiv, da nur einmal Threads erstellt werden, diese nie suspenden müssen
    • Eine zentrale Stelle kann die Threads verwalten
    Nachteil:
    • Nicht umbedingt Threadsafe
    • Zwei Threadkritische Punkte: Zugriff auf die Liste und der Zugriff auf den Eintrag

Eine andere Möglichkeit wäre, dass jeder Eintrag selber seinen Thread verwaltet.
D.h. er wird zum startet des Downloads aufgefordert. Und er erstellt einen Thread füttert ihn mit den Werten und lässt ihn rennen.
Es gäbe dabei zwei verschiedene Möglichkeiten: Onrequest oder Oncreate. Bei wird der Thread erstellt, wenn der Thread benötigt wird, bei zweiterem existiert der Thread immer.
Ersteres freut den Ram, zweiteres freut den CPU.
  • Vorteil:
    • Von sich aus Threadsafe, da immer nur ein Thread pro Eintrag arbeitet
    Nachteil:
    • Benötigt mehr Ram (im Oncreate)
    • Möglicherweise längere "Arbeitszeiten", da die Threads erstellt werden müssen (im Onrequest)
    • Die Verwaltung stellt ein Problem da: Die Liste muss herausbekommen, wann ein neuer Thread gestartet werden kann

Nun wie würdet ihr das lösen?

MfG
xZise

PS: Zum ersteren habe ich schon eine Frage gestellt gehabt: [TCriticalSection] Teil einer Klasse auf die zugegriffen wird
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat