Hi, hier jetzt mal das Proggi mit Threads (nur bei der Erstellung, nicht bei der Überprüfung, soll ja auch noch was für Dich übrig bleiben
)
Die Umsetzung mit Threads ist allerdings nicht ganz so wie das eigentlich sein sollte (bzw. was eigentlich möglich ist), dafür müsste das Konzept etwas grundlegend umgestellt werden. Ich wollte aber, dass Du Deinen Code noch erkennst
In Deinem Proggi ist der Bereich Eingabe-Verarbeitung-Ausgabe in einem Block.
Für eine vernünftige Thread-Abarbeitung sollte dieses aber getrennt sein, da die Prozesse hier unabhänging voneinander laufen.
Kurze Übersicht, wie der Ablauf sein solte:
1. Abfrage der Dateien
2. Aufbereitung der Anzeige (mit CRC-wird erstellt)
3. Erstellen einer Arbeitsliste für den/die Thread/s
4. Thread wird gestartet (jetzt wird gearbeitet)
5. Nach jeder Fertigstellung eines CRCs wird die Anzeige entsprechend geändert
Wenn diese Trennung gemacht wird, dann ist es auch kein Problem die Threads parallel arbeiten zu lassen um mehrere CPUs im System optimal auszunutzen (1 Thread nutzt 1 CPU).
In diesem Fall sieht es aber so aus, als ob ein Single-Thread besser ist, da hier nicht nur Rechenleistung sondern auch Plattenleistung gefragt ist, und wenn nun 2 Threads auf 2 Dateien zugreifen, dann mache ich die Platte ganz wuschig, weil die immer zwischen den Dateien hin- und herhöppern muss
Ok, Schluss mit der Theorie
schau Dir den Source mal an ... viel Spass