Einzelnen Beitrag anzeigen

romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Mehrere Kopien eines Threads?

  Alt 5. Aug 2004, 16:57
Hallo!

Ich habe einen Thread, deren Create-Procedure überschrieben und durch zusätzliche Parameter ergänzt wird.

Code:
...
type
  TGetThread = class (TThread)
  constructor create(CreateSuspended: boolean; ListViewItem2: TListItem);  
private
  { Private declarations }
  http: TIdHTTP;
  ListViewItem: TListItem;
  CrS: TCriticalSection;
protected
  procedure Execute; override;
end;
...

constructor TGetThread.create(CreateSuspended: boolean; ListViewItem2: TListItem);
begin
inherited create(CreateSuspended);
ListViewItem := ListViewItem2;
end;
...
Dann werden irgendwo im Programm mehrere Kopien dieses Threads erstellt, die meist gleichzeitig laufen. Meine Frage ist: muss ich unbedingt einen Threads-Array erstellen und dann jedesmal, wenn einen neuen Thread erstellt werden muss, so vorgehen

Code:
var
TGetThreadCopy: array[1..10] of TThread;
...

procedure TForm1.Button1Click(Sender: TObject);
begin
TGetThreadCopy[1] := TGetThread.Create(false, ListView1.Items.Item[0])
end;
...
oder kann ich einfach den Thread erneut erstellen, wenn ich es brauche, etwa so:

Code:
...
procedure TForm1.Button1Click(Sender: TObject);
var
Thread: TThread;
begin
Thread := TGetThread.create(false, ListView1.Items.Item[0]);
end;
...
Wie ist es besser? Ich habe beide Methoden ausprobiert, die funktionieren beide. Ich möchte nur sicher gehen, das ich nichts falsches mache.
Danke!
  Mit Zitat antworten Zitat