Die Verteilung wird vorgenommen, weil ich so die volle Leistung von jedem Kern erreichen möchte, um
dadurch das maximal an Perfomance zu gewinnen und sich die Threads nicht stören.
Die Threads müssen zugewiesen werden, da das in Delphi 5 nicht automatisch passiert und alle
nur den ersten Kern verwenden.
Hier ein Beispiel wo es bereits schon klemmt,
es reicht schon, wenn der Thread einfach nur in der Schleife läuft:
Code:
...
begin
CoInitializeEx(nil, COINIT_APARTMENTTHREADED);
try
while not Terminated do
begin
for i := 0 to MaxCount do //MaxCount kann über 30.000 Zeilen gehen
FCSVFile.ReadLine; //Die Zeile wird innerhalb der Klasse ausgelesen und aufbereitet
break;
end;
finally
CoUninitialize;
end;
end;