Multi Thread Delphi [geschlossen]
Ich habe Probleme mit Multithread in Delphi. Ich habe eine Liste mit Namen (ungefähr 2.000 Namen) und ich muss einige Daten zu jedem Namen auf meiner Site abrufen. Mein System funktioniert einwandfrei, bis auf die Fadenkontrolle.
Ich möchte 10 Threads erstellen und, wenn ein Thread endet, einen weiteren ... bis zum Ende der Liste erstellen.
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
Nun, ich habe den TCheck.Constructor nicht eingefügt, da das Problem darin besteht, wie ich die Anzahl der erstellten Threads überprüfe. Ich meine, meine Software hört einfach auf, ohne Fehlermeldung, mal 500 Namen zu überprüfen, mal 150 Namen ...
Entschuldige mein schlechtes Englisch.