Jetzt habe ich mir mal TCriticalSection angesehen und in der Delphi Hilfe steht folgendes:
Zitat:
Mit TCriticalSection können Operationen abgesichert werden, die nicht durch den Ausführung eines bestimmten Codeabschnitts durch einen anderen Thread unterbrochen werden dürfen. Kritische Abschnitt arbeiten wie Gates, die jeweils nur einen einzelnen Thread durchlassen. Da die Ausführung anderer Threads blockiert wird, verringert sich die Leistung der Anwendung erheblich, wenn kritische Abschnitte zu häufig eingesetzt werden.
Das bedeutet, dass wenn mein JobB gestartet werden würde, dass die anderen Threads dann solange unterbrochen werden, bis der JobB abgearbeitet ist. Das wäre schlecht, denn die anderen Threads sollen in dieser Zeit noch JobA und JobB abarbeiten.
Dann schaue ich mir mal das nächste an.