我正在尝试在 delphi 中做一个“愤怒的 http 下载器”,但 TIdHttpCli 不能做我想做的事。由于某种原因,它不会在许多线程中同时运行。请看一下这个问题的简单演示:
procedure HttpRequest(AParam : Integer); stdcall;
var
lHttp: TIdHttp;
begin
lHttp := TIdHttp.Create(nil);
{
lHttp.Get(
'http://stackoverflow.com/questions/15977505/',
TMemoryStream.Create
);
}
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
tid: DWORD;
begin
for i := 0 to 4 do
CreateThread(nil, 0, @HttpRequest, nil, 0, tid);
end;
David Heffernan 编辑:我简化了问题中的代码。这段代码仍然表现出这种行为。我的测试环境是 XE3 和随 XE3 一起交付的 Indy。