die weiteren Tests mit:
1) eigener Threadpool
2) begrenzen der verfügbaren Threads auf 1
Delphi-Quellcode:
Initialization
testpool := TThreadpool.Create;
testpool.SetMaxWorkerThreads ( 1 );
testpool.SetMinWorkerThreads ( 1 );
Finalization
testpool.Free;
sowie eigene storage-Variable innerhalb der &for-loop
und sogar nur eine lokale Abarbeitung führen immer zum gleichen Problem
Delphi-Quellcode:
TParallel.&For ( 0, s1-1, procedure ( _zz: Integer )
var
_s, _xx, _yy: Integer;
_r: Real;
begin
_s := s1;
for _yy := 0 to _s-1 do
for _xx := 0 to _s-1 do
_r := _xx*_yy;//testdata [ _zz, _yy, _xx ] := random;
end,
testpool);
Wissen ist Macht. Das ändert aber so gut wie nichts an der Übermacht der Dummheit.