Nur wo Du was änderst, was andere Threads auch ändern könnten, mußt Du CriticalSections einsetzen. Siehe
Lost updates.
Also reine Leseoperationen müssen nicht mit CriticalSections geschützt werden.
Delphi-Quellcode:
EnterCriticalSection(LockList);
try
Setze "Liste.Eintrag[i].Status" auf "sDownloading"
finally
LeaveCriticalSection(LockList);
end;
MfG Bernd