0
我在線程內部有此代碼,並且當我調用終止時,如果它不在http請求的中間,它會很快終止,但是當我有20個線程時,需要時間來完成http請求並退出線程。 CODE:使用http獲取請求終止的線程終止
procedure TParser.Execute;
var
i,b:integer;
t:string;
begin
http := thttpsend.create;
http.KeepAlive:=true;
Ftest:=TStringList.Create;
{http.timeout:=5000;}
for i:=0 to FStartNum.Count do
if FLocalVariable<FStartNum.Count-FThreadCount then
begin
if terminated then begin
exit;
end
else
EnterCriticalSection(Form1.StringSection);
try
FLocalVariable := form1.GlobalVariable;
Inc(FLocalVariable);
form1.GlobalVariable := FLocalVariable;
finally
LeaveCriticalSection(Form1.StringSection);
http.Clear;
HTTP.HTTPMethod('GET',FStartNum.Strings[FLocalVariable]);
Ftest.LoadFromStream(HTTP.Document);
Synchronize(progress);
parse;
Ftest.Clear;
end;
end;
end;
如何停止從主要形式是HTTP請求:
HTTP.HTTPMethod('GET',FStartNum.Strings[FLocalVariable]);
Ftest.LoadFromStream(HTTP.Document);
感謝
編輯:終端代碼:
for i:=Low(fparser) to High(fparser) do
begin
Fparser[i].Terminate();
end;
嘗試,並曾在這裏做申報像一些程序http://forum.4programmers.net/Delphi_Pascal/129730-Synapse_FTPSend?sort=votes 現在我得到[Error] Unit5.pas(115):不兼容的類型:'blcksock.THookSocketReason'和'Unit5.THookSocketReason'。我應該在使用列表中聲明更多單位。謝謝。 編輯:添加blcksock使用和它的作品。謝謝 – 2012-04-02 20:04:54
Unit5不應該聲明自己的'THookSocketReason'類型,而是使用'blcksock' unt中的那個類型,那麼你就不會得到ambiquity錯誤。 – 2012-04-02 21:32:17