var
.., System.Threading;
procedure RunTask(AProc: TProc);
begin
//단일 프로시저일 경우
TTask.Run(AProc).Wait();
end;
procedure RunTasks(arrProc: array of TProc);
var
I: Integer;
Tasks: array of ITask;
begin
//다수의 프로시저를 동시에 호출해야 할 경우
SetLength(Tasks, High(arrProc) + 1);
for I := Low(Tasks) to High(Tasks) do
Tasks[I] := TTask.Run(arrProc[I]);
TTask.WaitForAll(Tasks);
end;
반응형