Zitat von
DataCool:
kurz ne Frage zur CriticalSection:
Auch nur ne kurze Antwort, will langsam ins Bett
Zitat:
Da TStringList ja nicht Thread sicher ist, muss ich hier mit CriticalSection arbeiten ?
ja
Zitat:
Obwohl ich von aussen nur immer Elemente am ende der liste hinzufüge ?
obwohl Du "von außen" arbeitest. Was ändert der schlichte Aufruf der Methode?
Zitat:
Wenn ich mit CriticalSection arbeite, dann nur bei Delete der stringliste oder auch beim Add ?
Auch bei
Add.
Zitat:
Irgentwo hab ich mal gelesen das CriticalSections immer global deklariert werden müssen [...]?! Ist das richtig ?
Nein.
Zitat:
Kann ich nicht innerhalb meines Threads als private Var eine CS erzeugen?
Geeignete Lösung und performanter als alle Listen über ein gemeinsames Synchronisationsobjekt zu steuern.
Zitat:
Ist der Construkt im obringen OnExecute praktikabel?
Ideal wäre ein FiFo-Puffer, der den Thread (caller von
Pop) solange schlafen legt (ich auch gleich
) bis wieder ein neues Element dem Puffer zugefügt worden ist (
Push).
Schau mal unter in der
OH unter Semaphore und Signal im Zusammenhang von Synchronisationsobjekten nach. Das Szenario, was Du beschreibst, nennt man iÜ
thread producer consumer.