Naja, die Frage war ja eindeutig nur auf
lesenden Zugriff gestellt - und solange auf gemeinsam genutzen Speicher kein Schreibzugriff erfolgt, ist solcher Code immer Threadsicher.
TThreadList ist für gemischt lesenden/schreibenden Zugriff gedacht.
Und ich persönlich sehe in folgendem Codeabschnitt von TList keinen einzigen schreibenden Zugriff auf irgendeinen Speicherbereich:
Delphi-Quellcode:
function TList.Get(Index: Integer): Pointer;
begin
if (Index < 0) or (Index >= FCount) then
Error(@SListIndexError, Index);
Result := FList^[Index];
end;
Also wiederhole ich nochmal: Solange mehrere Threads ausschließlich lesenden Zugriff auf TList haben, ist das Threadsicher. TThreadList wird nur benötigt, wenn irgendein Thread
gleichzeitig in die Liste schreibt.