Многопоточная Delphi [закрыто]

У меня проблемы с многопоточностью в Delphi. У меня есть список имен (что-то около 2000 имен), и мне нужно получить данные о каждом имени на моем сайте. Моя система работает отлично, кроме контроля потока.

Я хочу создать 10 потоков, и, когда один поток завершится, создать еще один ... до конца списка.

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

Ну, я не поместил TCheck.Constructor, потому что проблема в том, как я проверяю количество созданных потоков. Я имею в виду, что мои программы просто останавливаются, без каких-либо сообщений об ошибках, иногда проверяют 500 имен, иногда 150 имен ...

Извините за плохой английский.

Ответы на вопрос(2)

Ваш ответ на вопрос