System.Threading.TParallel.Join

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

class function Join(Sender: TObject; AEvents: array of TNotifyEvent): ITask; overload; static;
class function Join(Sender: TObject; AEvents: array of TNotifyEvent; APool: TThreadPool): ITask; overload; static;
class function Join(Sender: TObject; AEvent1, AEvent2: TNotifyEvent): ITask; overload; static; inline;
class function Join(Sender: TObject; AEvent1, AEvent2: TNotifyEvent; APool: TThreadPool): ITask; overload; static;
class function Join(const AProcs: array of TProc): ITask; overload; static;
class function Join(const AProcs: array of TProc; APool: TThreadPool): ITask; overload; static;
class function Join(const AProc1, AProc2: TProc): ITask; overload; static; inline;
class function Join(const AProc1, AProc2: TProc; APool: TThreadPool): ITask; overload; static;

C++

static _di_ITask __fastcall Join(System::TObject* Sender, System::Classes::TNotifyEvent *AEvents, const int AEvents_High)/* overload */;
static _di_ITask __fastcall Join(System::TObject* Sender, System::Classes::TNotifyEvent *AEvents, const int AEvents_High, TThreadPool* APool)/* overload */;
static _di_ITask __fastcall Join(System::TObject* Sender, System::Classes::TNotifyEvent AEvent1, System::Classes::TNotifyEvent AEvent2)/* overload */;
static _di_ITask __fastcall Join(System::TObject* Sender, System::Classes::TNotifyEvent AEvent1, System::Classes::TNotifyEvent AEvent2, TThreadPool* APool)/* overload */;
static _di_ITask __fastcall Join(const System::Sysutils::_di_TProc *AProcs, const int AProcs_High)/* overload */;
static _di_ITask __fastcall Join(const System::Sysutils::_di_TProc *AProcs, const int AProcs_High, TThreadPool* APool)/* overload */;
static _di_ITask __fastcall Join(const System::Sysutils::_di_TProc AProc1, const System::Sysutils::_di_TProc AProc2)/* overload */;
static _di_ITask __fastcall Join(const System::Sysutils::_di_TProc AProc1, const System::Sysutils::_di_TProc AProc2, TThreadPool* APool)/* overload */;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
System.Threading.pas
System.Threading.hpp
System.Threading TParallel


Beschreibung

TParallel.Join gruppiert Prozeduren, die in parallelen Threads ausgeführt werden können.

Ob zwei oder mehr an TParallel.Join übergebene Prozeduren in parallelen Threads ausgeführt werden, hängt von den verfügbaren Threading-Ressourcen ab.

Jede Überladung von TParallel.Join bietet abhängig von der jeweiligen Parameterliste verschiedene Funktionen und Informationen.

Alle Überladungen von TParallel.Join geben eine Interface-Instanz mit dem Typ ITask zurück, mit deren Eigenschaft Status festgestellt werden kann, ob an TParallel.Join beteiligte Prozeduren abgeschlossen wurden, noch ausgeführt werden, fehlgeschlagen sind usw.

Wenn die Überladung von TParallel.Join über einen Sender-Parameter verfügt, übergibt der Aufrufer ein Objekt, das bei der Ausführung an die Instanzen von TNotifyEvent gesendet wird, wie bei anderen Ereignisbehandlungsroutinen in RAD Studio. Die Überladungen von TParallel.Join ohne einen Sender-Parameter führen Prozeduren entsprechend dem Typ TProc aus, d. h., sie repräsentieren Prozeduren ohne Parameter oder Rückgabewerte.

Wenn ein APool-Parameter mit dem Typ TThreadPool angegeben ist, steuert der Programmentwickler die Thread-Ressourcen, die für die Iterator-Ereignisse von TParallel.Join verfügbar sind, durch die Verwendung der Methoden TThreadPool.SetMinWorkerThreads und TThreadPool.SetMaxWorkerThreads. Achten Sie beim Aufruf dieser Methoden darauf, dass zu viele simultane Threads einen Overhead generieren können, der den Effizienzvorteil der parallelen Ausführung von Routinen reduziert oder vollständig zunichte macht.

Siehe auch