Thema: Delphi IDHttp und Thread

Einzelnen Beitrag anzeigen

Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: IDHttp und Thread

  Alt 9. Apr 2008, 19:26
Zitat:
Nur wie realisiere ich das Abfragen über die Threads?
Leider funktioniert überhaupt nichts
Welche Möglichkeiten habe ich?
Womit genau hast du denn Probleme? Ich versuchs mal etwas allgemeiner...

_______________________________
Eine TThread-Instanz ist ein Objekt, das in der "Execute"-Methode parallel zum Hauptprogramm (welches in einem eigenen Thread läuft) irgendwelche Anweisungen abarbeitet. Wenn nun zwei verschiedene Threads auf ein gemeinsames Datum (z.B. einen String) zugreifen müssen, kann es dazu kommen, dass ein Datum gleichzeitig gelesen und geschrieben wird. Dadurch wird der Wert des Datums unbestimmt und es kommt zu Fehlern.

Um das zu verhindern, müssen Zugriffe auf gemeinsame Daten synchronisiert werden. Man muss irgendwie dafür sorgen, dass das Datum, auf das man zugreift, konsistent ist. Eine einfache Methode dafür sind synchronisierte Ereignisse. Im Wesentlichen werden dabei einfach alle anderen Threads für die Dauer eines Eregnisses angehalten:

Ruft also ein Thread ein Ereignis mit der Methode Delphi-Referenz durchsuchenTThread.Synchronize auf, hat man in diesem Ereignis gesicherten Zugriff, insbesondere auf die Eigenschaften von VCL-Komponenten wie Labels, Edits, etc. Lässt man das synchronize weg, muss man "manuell" mit einer Instanz von Delphi-Referenz durchsuchenTCriticalSection für Konsistenz sorgen.
_______________________________

Also wo hakt es denn? Ist das ganze Konzept mit Klassen, Ereignissen usw. schon klar? Hast du schonmal Luckies Thread-Tutorial durchgelesen?

Edit: du kannst für mehr Lesbarkeit Delphi-Code mit dem [Delphi]-Tag anstelle des [Code] Tags markieren
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat