was haltet ihr denn von TMonitor und CriticalSections? Welches bevorzugt ihr? Soweit ich weiß hat CriticalSections weniger Overhead und ist deutlich schneller als TMonitor.
Das sollte seit XE5 kein Problem mehr sein.
Wenn ich darf habe ich auch eine grundlegende Frage zur Synchronisation:
wenn man zwei Threads hat, beide greifen auf die VLC zu (Memo.Lines.Add) und man das synchronisiert, verliert man dann nicht den Vorteil den mehrere Threads eigentlich bieten sollten?
Wenn die Hauptaufgabe in dem synchronisierten Part steckt, ja. Wenn sich das auch nicht ändern lässt, dann hat man wenig Chancen und kann vermutlich ganz auf die Threads verzichten. Geht es darum, eine längere Aktion nur im
VCL-Thread auszuführen, ohne die UI zu blocken, lässt sich das auch durch einen StateMachine-Ansatz lösen.