Einzelnen Beitrag anzeigen

Benutzerbild von cramer
cramer

Registriert seit: 23. Jun 2004
Ort: Velbert (NRW)
96 Beiträge
 
Delphi 2006 Enterprise
 
#1

FileCopy im Thread

  Alt 17. Mai 2017, 10:35
Hallo,

ich brauche in einer Anwendung eine Funktion, die große Dateien 1MB - 3GB aus einer Quelle (A) in zwei
Ziele (B) und (C) kopiert, wobei B und C im Netzwerk liegen.

Die erste Version kopierte einfach
lesen von A schreiben nach B
lesen von A schreiben nach C

Die zweite Version lief schon optimierter und sparte ca 30% Zeit ein
lesen von A
schreiben nach B
schreiben nach C

Die dritte MyFirstThreadStepsVersion spart zusätzlich nochmal rund 15% der Zeit ein,
Sie arbeitet mit 2 Puffern, mit denen parallel gelesen und geschrieben wird.

Die Version funktioniert, nur wenn ich mir den Code ansehe,
sieht man wohl, daß es sich um erste Gehversuche mit Threads handelt.

Ich habe das mal als kleine Testanwendung als Lazarus Projekt (im Anhang) gebaut.
Vielleicht hat ja einer der Thread-Gurus hier Lust und Zeit mal reinzuschauen und ein paar Tips zu geben.

LG und PS: Fehlerprüfungen sind noch keine eingebaut, es ging mir erstmal ums Prinzip (Delphi = BDS2006)
Angehängte Dateien
Dateityp: rar copy3.rar (981,8 KB, 34x aufgerufen)
Erfahrung ist etwas, daß man erst bekommt, kurz nachdem man es dringend gebraucht hätte.

Geändert von cramer (17. Mai 2017 um 10:37 Uhr) Grund: Delphi Version vergessen
  Mit Zitat antworten Zitat