@Xvir43

Как правильно работать с тасками?

Подскажите как правильно передать в таск параметры?
Function Test(Const Xn, Wn: Array of Real): Real; 
Var
  Sum: Real; // взвешенная сумма.
  i: Integer; // счетчик.
  tasks: array of itask;
begin
  Sum := 0;
  SetLength(tasks, High(Xn));
  For i := 0 To High(Xn) Do
  begin
    tasks[i] := TTask.Create(
      procedure()
      begin
        Sum := Sum + Xn[i] * Wn[i]; // подсчет взвешенной суммы.
      end);
    for I := 0 to High(tasks) do
      tasks[i].Start;
      TTask.WaitForAll(tasks);
  end;
end;

Сейчас ругается на Xn[i] * Wn[i] я так понимаю потому что нельзя обращаться к масивам из потока как правильно сделать?
  • Вопрос задан
  • 331 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы