Einzelnen Beitrag anzeigen

AJ_Oldendorf

Registriert seit: 12. Jun 2009
397 Beiträge
 
Delphi 12 Athens
 
#1

Synchronisierung zwischen Threads ohne Mutex

  Alt 28. Jan 2025, 10:21
Hallo zusammen,
ich habe eine Frage, wie man folgendes anders lösen kann:

globale Liste

Task 1 (Thread):
zyklischer Check der kompletten Liste und irgendwelche Aktionen damit machen

Task 2 (Thread):
Löschen und Hinzufügen von Einträgen in der globalen Liste

Es geht hier NICHT um VCL und Synchronize.
Das ganze kann man mit einer Mutex machen und bevor jemand mit der globalen Liste etwas machen möchte, wird sich die Mutex gezogen und nur wenn man diese bekommt (also kein anderer Besitzer vorhanden ist), hat man den Zugriff auf die globale Liste. Das funktioniert und darauf möchte ich auch nicht weiter eingehen.
Ich möchte nur wissen, welche Mechanismen es noch gibt, eine derartige Synchronisation zwischen den Threads zu machen.
Natürlich erledigen die Threads noch andere Aufgaben, dass ist nur eine Teilbeschreibung.

Zum allgemeinen Hintergrund warum das Ganze:
Wenn Task 1 gerade in einer Schleife über alle Items ist und Task 2 gerade Items löscht oder hinzufügt, dann knallt es in Task 1
  Mit Zitat antworten Zitat