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)
Erfahrung ist etwas, daß man erst bekommt, kurz nachdem man es dringend gebraucht hätte.