Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#14

Re: Wieso bekomme ich hier einen Deadlock?

  Alt 25. Mai 2010, 11:00
Wenn du die Möglichkeit hast, dann wäre es wohl besser die Events außerhalb der "Hauptsperrung" abzuarbeiten.

statt deinem
Code:
thread-schleife
begin
  sperren
    schleife
    begin
      entsperren
        event aufrufen
      sperren
      ...
    end;
  entsperren
  kleine pause
end;
nur einmal sperren und danach die Events abarbeiten
Code:
thread-schleife
begin
  sperren
    schleife
    begin
      event zu 'ner liste hinzufügen
      ...
    end;
  entsperren
  alle gespeicherten events aufrufen
  kleine pause
end;
oder
Code:
thread-schleife
begin
  sperren
    daten schnell aus liste auslesen
  entsperren
  schleife
  begin
    (mit den ausgelesenen/kopierten daten arbeiten)
    event abarbeiten
    ...
  end;
  kleine pause
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat