如何在匿名线程内调用多个帖子请求

时间:2016-08-01 10:33:12

标签: delphi idhttp delphi-10.1-berlin

如何同时执行多个帖子请求,这个代码示例只代表一个匿名线程,总数是15,但是,即使有一个帖子,后期响应也会变慢,一开始就快,然后它减速直到它几乎停止!我无法弄清楚什么是错的,这是我解决这个问题的第9次尝试。我试过net client,TTask,但他们有bug,有什么想法吗?我的意思是代码,谢谢。

procedure TForm1.Test99;
var
 lHTTP: TIdHTTP;
 Params,Reply: TStringList;
begin
  lHTTP := TIdHTTP.Create(nil);
  Params := TStringList.Create;
  Reply  := TStringList.Create;

 TThread.CreateAnonymousThread(procedure ()
 var
  i : integer;
 begin
   for i := 0 to Z.Count-1 do
 begin
   Params.Add('Id=' +Z.Strings[i]);
   try
     Reply.Text := lHTTP.Post('https://www.mxhs95.com/test', Params);
     if AnsiContainsStr(Reply.Text, 'id')
     then
     begin
      TThread.Synchronize (TThread.CurrentThread,
      procedure ()
              begin
                Memo1.Lines.Add( Z.Strings[i]);
                Label2.Caption := Memo1.Lines.Count.ToString;
              end);             
     end;  
 end;
 Finally

  end;

end;
end).Start;
end;

0 个答案:

没有答案