Delphi Multi Thread [fechado]
Estou tendo problemas com multi thread em delphi. Eu tenho uma lista de nomes (algo sobre 2.000 nomes), e eu preciso obter alguns dados de cada nome no meu site. Meu sistema funciona perfeitamente, exceto o controle de thread.
Eu quero criar 10 threads e, quando algum segmento terminar, criar outro ... até o final da lista.
var
Form1: TForm;
tCount: Integer; //threads count
implementation
type
TCheck = class(TThread)
public
constructor Create(Name: string);
destructor Destroy; Override;
protected
procedure Execute; Override;
end;
MainT = class(TThread)
protected
procedure Execute; Override;
end;
destructor TCheck.Destroy;
begin
Dec(tCount);
end;
procedure MainT.Execute;
var
i: Integer;
Load: TStringList;
begin
Load:=TStringList.Create;
Load.LoadFromFile('C:\mynames.txt');
for i:= 0 to Load.Count -1 do
begin
if tCount = 10 then //if we have 10 threads running...
begin
repeat
Sleep(1);
until tCount < 10;
end;
TCheck.Create(Load.Strings[i]);
TCheck.Start;
Inc(tCount);
end;
end; // end of procedure
Bem, eu não coloquei o TCheck.Constructor porque o problema é o método como eu estou verificando o número de threads criados. Quero dizer, meu software acaba de parar, sem nenhuma mensagem de erro, às vezes verifica 500 nomes, às vezes 150 nomes ...
Desculpe por mau Inglês.