Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Ein Versuch mit Omnithreadlibrary

  Alt 18. Sep 2020, 20:39
Erstmal arbeitest du mit Threads, wobei du mehrmals "gleichzeitig" auf globale Objekte zugreist.

DU mußt also den Zugriff darauf irgendwie synchronisieren, z.B. mit einer CriticalSection oder passenden threadsicheren Komponenten ala TThreadList.


PS: seit paat Jährchen gibt es auch im Delphi eine immer größerwerdende Thread-Library,
http://docwiki.embarcadero.com/RADSt...amming_Library
wozu es auch einige Tutorials und YT-Videos gibt.


Wenn man keine Kontrolle braucht, wieviele Threads gleichzeitig laufen, oder Dergleichen,
dann reicht auch TThread, welches bereits seit Einführung der Generics nettze Funktionen besitzt.
Delphi-Quellcode:
TThread.CreateAnonymousThread(procedure
  begin
    // im Thread
  end);

TThread.Synchronize(procedure
  begin
    // jetzt im Hauptthread (auf Ende warten, ähnlich SendMessage)
  end);

TThread.Queue(procedure // hier besser TThread.ForceQueue nutzen
  begin
    // später im Hauptthread (ohne zu warten, ähnlich PostMessage)
  end);
$2B or not $2B

Geändert von himitsu (18. Sep 2020 um 21:35 Uhr)
  Mit Zitat antworten Zitat