Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi programm friert ein, progress bar, leerzeichen ignorieren... (https://www.delphipraxis.net/59563-programm-friert-ein-progress-bar-leerzeichen-ignorieren.html)

Sir Rufo 27. Dez 2005 07:26

Re: programm friert ein, progress bar, leerzeichen ignoriere
 
Zitat:

Irgendwie müsste da noch ein pointer rein oder so glaube ich zumindest!??
Jepp, das ist richtig. Man kann dem Thread hier einen Parameter in Form eines Zeigers (Pointer) mitgeben.
Will ich dem nix mitgeben kommt dort einfach nil als Parameter mit rein.

Sir Rufo 27. Dez 2005 08:53

Re: programm friert ein, progress bar, leerzeichen ignoriere
 
Liste der Anhänge anzeigen (Anzahl: 1)
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

Headi 27. Dez 2005 21:14

Re: programm friert ein, progress bar, leerzeichen ignoriere
 
Vielen dank Sir Rufo!!
Konnte den code ohne Probleme auch für den check einbauen :thumb:

Vielen dank nochmals allen die geholfen haben!!

mfg headi


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 Uhr.
Seite 2 von 2     12   

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