![]() |
Thread-Koordination ohne Messages
Hallo zusammen,
ich habe z.Zt. eine Anwendung, die eine größere Menge Dateien/Verzeichnisse durchsuchen muß (findfirst/findnext). Da das etwas länger dauert, will ich das in mehrere Threads aufteilen. Allerdings soll das vollkommen unabhängig von der Oberfläche funktionieren. Nur wie bekomme ich die verschedenen Treads dann ohne Messages koordiniert? Gruß K-H |
AW: Thread-Koordination ohne Messages
Ohne Messages heißt jetzt komplett ohne den Austausch von Nachrichten oder ohne die Windows Messages zu benutzen?
|
AW: Thread-Koordination ohne Messages
Das schreit doch geradezu nach einem
![]() Oder mit der TParallel-Library. |
AW: Thread-Koordination ohne Messages
@Dejan Vu
Da ich noch mit älteren Delphi-Versionen arbeite(n muß) entfällt das. @Sir Rufo Mir sind nur die Windowsmessages bekannt. Gibt's da noch was anderes? Gruß K-H |
AW: Thread-Koordination ohne Messages
Zitat:
Ansonsten kann das in Threads maximal genauso schnell gehen (bei einer SSD) oder wenn das Dateisystem bereits zum Großteil im Cache geladen ist. Bei normalen Festplatten wird das durch sowas sogar noch langsamer, da man durch paralelle Zugriffe sich gegenseitig die Festplatte ausbremst. :stupid: (je mehr Threads, um so schlimmer wird es ... abhängig von der Festplatte sogar ganz extrem) Ausnahme bei mehreren Zugriffen auf je eine getrennte Festplatte ... abhängig vom Controller. |
AW: Thread-Koordination ohne Messages
Zitat:
|
AW: Thread-Koordination ohne Messages
Events wäre noch eine Möglichkeit.
|
AW: Thread-Koordination ohne Messages
Zitat:
|
AW: Thread-Koordination ohne Messages
@Himitsu
Da es sich bei der "Festplatte" um einen Fileserver handelt, hoffe ich auf Besserung! ach ja "zunächst nur Dateien suchen", dann die Sicherheitsattribute abfragen. Es gibt da ein paar Unterscheidungen und Niggelichkeiten, darum bin ich gezwungen, den vollständigen Bestand einzulesen. Beschränkung im Vorfeld ist leider nicht der Standardfall. @Sir Rufo Queue ist mir schon klar, nur wie organisiere ich so etwas? Eigentlich brauche ich einen unabhängiges Programm/Thread, das die queue organisiert? @Luckie Events? werden doch nur von der Hardware verschickt? und da bin ich doch auch auf Komponenten angewiesen? @Dejan Vu Wo find ich Infos über den (Delphi-)WorkerThreadpool? Ich hab das erst einmal als XEx-Erweiterung abgetan? und vielen dank an Euch! K-H |
AW: Thread-Koordination ohne Messages
|
AW: Thread-Koordination ohne Messages
Also grade bei einem Festplatte wird man doch vermutlich "richtige" Festplatten einbauen.
Das Problem ist die Neuausrichung der Leseköpfe und je öfter man das mach, um so langsamer wird der Zugriff. Vorallem bei paralellen Zugriffen werden die unnötig viel hin und her gejagt. Bei größerem Verzeichnissen schafft der Leseprozess es womöglich nicht das komplette Verzichnis zu lesen, da ihm ständig von anderen Zugriffen dazwischengefunkt und der Lesekopf wo anders hingeschickt wird. Rate mal, warum der Explorer so lange für die Dateisuche braucht (wenn Verzeichnis nicht indiziert ist) ... da ist auch ein trottel auf die geile Idee gekommen das Multithread zu machen und dann noch als ausgebremster Hintergrungprozess. :wall: (OK, liegt zusätzlich auch noch an dem arschlahmen ListView) z.B. in C:\ oder C:\Windows nach "*.*" suchen |
AW: Thread-Koordination ohne Messages
@DeddyH
Uiui:oops: Da hab ich wohl was verpasst! vielen Dank! @Himitsu Na klar, irgendwo ist da irgendwie eine Festplatte oder 2 oder 3 oder .. enthalten. Nur die Daten tröpfeln so langsam herein, da versuche ich halt den Anforderungsdruck zu erhöhen. Denn zwischen meinem PC und der Serverfestplatte(n) gibt es mehr als einen Server/Controler der/die den Verkehr regelt. Das Ding kann ja schließlich überall stehen, wahrscheinlich in der Umgebung von Dublin bei der IBM. Gruß K-H |
AW: Thread-Koordination ohne Messages
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 Uhr. |
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 by Thomas Breitkreuz