Thread-Objekte definieren

Aus RAD Studio (Deutsch)
Wechseln zu: Navigation, Suche

Nach oben zu Thread-Objekte definieren - Index

In den meisten Anwendungen wird ein Ausführungs-Thread durch ein Thread-Objekt repräsentiert. Solche Objekte vereinfachen die Entwicklung von Multithread-Anwendungen, indem sie die gängigsten Einsatzmöglichkeiten von Threads kapseln.

Anmerkung:  Thread-Objekte bieten keine Kontrolle über die Sicherheitsattribute oder die Stack-Größe der Threads. Um auf diese Faktoren Einfluss zu nehmen, verwenden Sie die Funktion BeginThread. Einige der unter Threads koordinieren beschriebenen Objekte und Methoden zur Thread-Synchronisierung können zusammen mit BeginThread eingesetzt werden.

So verwenden Sie ein Thread-Objekt in Ihrer Anwendung:

  1. Erzeugen Sie einen neuen Nachkommen von classes.TThread. Wählen Sie dazu zunächst im Hauptmenü den Befehl Datei > Neu > Weitere.
  2. Doppelklicken Sie im Dialogfeld Objektgalerie auf Thread-Objekt und geben Sie einen Klassennamen ein, wie beispielweise TMyThread.
  3. Um den neuen Thread zu benennen, markieren Sie das Kontrollfeld Benannter Thread und geben einen Thread-Namen ein (nur VCL-Anwendungen)
  4. Klicken Sie auf OK. Im Quelltext-Editor wird eine neue Unit-Datei erstellt, um den Thread zu implementieren.

Nähere Informationen zur Benennung von Threads finden Sie unter Einen Thread benennen.

Anmerkung:  Im Gegensatz zu den meisten Dialogfeldern der IDE, in denen die Eingabe eines Klassennamens erforderlich ist, wird im Dialogfeld Neues Thread-Objekt dem eingegebenen Klassennamen nicht automatisch der Buchstabe T vorangestellt.

Die automatisch generierte Unit-Datei enthält das Quelltextgerüst für die neue Thread-Klasse. Für einen Thread mit dem Namen TMyThread sieht die Datei beispielsweise folgendermaßen aus:



 unit Unit2;
 interface
 uses
 Classes;
 type
 TMyThread = class(TThread)
 private
 { private-Deklarationen }
 protected
 procedure Execute; override;
 end;
 implementation
 { TMyThread }
 procedure TMyThread.Execute;
 begin
 { Thread-Code hier einfügen }
 end;
 end.



 //---------------------------------------------------------------------------
 #include <vcl.h>
 #pragma hdrstop
 #include "Unit2.h"
 #pragma package(smart_init)
 //---------------------------------------------------------------------------
 __fastcall TMyThread::TMyThread(bool CreateSuspended): TThread(CreateSuspended)
 {
 }
 //---------------------------------------------------------------------------
 void __fastcall TMyThread::Execute()
 {
 // ---- Hier fügen Sie den Quelltext ein ----
 }
 //---------------------------------------------------------------------------



Die automatisch generierte Unit-Datei bearbeiten Sie folgendermaßen:

Siehe auch

In anderen Sprachen