Показать сообщение отдельно
  #5  
Старый 09.05.2013, 13:57
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Для 100000 массивов вряд ли потоки окажутся намного эффективнее поочередного перебора. Как советовал Страдалецъ, используй указатели:
Код:
type
PmillArray=^FmillArray;
FmillArray=array[1..1000000] of integer;

type
Rnd = class(TThread)
public
 pntr:PmillArray;//это указатель
 constructor Create(var massiv:FmillArray);
protected
 procedure Execute; override;
end;
implementation

constructor Rnd.Create;
 begin
  pntr:=@massiv; 
  inherited Create(False);
 end;
procedure Rnd.Execute;
 var x:integer
 begin
  for x:=1 to 1000000 do Rnd^[x]:=random(100);
 end;
При создании трэда передавай нужный массив в трэд.
Код:
var massiv:array[1..1000000] of FmillArray;
.......
MyThread:=TMythread. create(massiv[999999]);

 ...............
Ну, короче, понятно - через указатель.
Ответить с цитированием