Mehrere Threads nur lesend auf ein TArray<TEinRecord> mit oder ohne Synchronize?
Gestern, 11:11
Ich habe ein TArray<TIrgendeinRecord>. TIrgendeinRecord kann grundsätzlich alle möglichen Simple Datentypen beinhalten.
Dieses Array wird einmalig mit Daten gefüllt. Um die Hunderttausend Einträge. Danach werden mit diesen Daten nur noch Auswertungen durchgeführt. Also nur lesend.
Ich würde nun gerne mit mehrere Threads die Auswertungen parallel durchführen. Da sichergestellt ist, dass die Daten nicht geändert werden, sollte es doch möglich sein, auf die Daten ohne TThread.Synchronize zuzugreifen. Oder?
Ich habe natürlich schon vorher mal gegoogelt. Aber da teilen sich die Meinungen sehr. Außerdem sind viele Infos sehr alt und vielleicht gibt es ja in neuen Delphi-Versionen neue Techniken, die ich einfach übersehen habe.
|