System.Threading.TTask.Future

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

class function Future<T>(Sender: TObject; Event: TFunctionEvent<T>): IFuture<T>; overload; static; inline;
class function Future<T>(Sender: TObject; Event: TFunctionEvent<T>; APool: TThreadPool): IFuture<T>; overload; static; inline;
class function Future<T>(const Func: TFunc<T>): IFuture<T>; overload; static; inline;
class function Future<T>(const Func: TFunc<T>; APool: TThreadPool): IFuture<T>; overload; static; inline;

C++

inline System::DelphiInterface<IFuture__1<T> > __fastcall TTask::Future(
    System::TObject* Sender,
    T __fastcall (__closure *Event)(System::TObject* Sender))
inline System::DelphiInterface<IFuture__1<T> > __fastcall TTask::Future(
    System::TObject* Sender,
    T __fastcall (__closure *Event)(System::TObject* Sender),
    TThreadPool* APool)
inline System::DelphiInterface<IFuture__1<T> > __fastcall TTask::Future(
    const System::DelphiInterface<System::Sysutils::TFunc__1<T> > Func)
inline System::DelphiInterface<IFuture__1<T> > __fastcall TTask::Future(
    const System::DelphiInterface<System::Sysutils::TFunc__1<T> > Func,
    TThreadPool* APool)

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
System.Threading.pas
SystemThreading.h
System.Threading TTask


Beschreibung

Future akzeptiert eine Funktion, die in einem parallelen Thread ausgeführt werden kann, und gibt ein Interface zurück, mit dem das Ergebnis zum benötigten Zeitpunkt im Programm abgerufen wird.

Der Rückgabewert der Funktion wird zum im Programm benötigten Zeitpunkt durch die Instanz von IFuture<T> abgerufen, der das Ergebnis von Future<T> übergeben wird. Der Typparameter T repräsentiert den Rückgabetyp der gegebenen Funktion, die in einem parallelen Thread ausgeführt werden soll.

Die Methode Future gibt eine Instanz von IFuture in der mit dem Typ T definierten Variable zurück.

Rufen Sie die erste überladene Future-Methode mit den unten beschriebenen Parametern auf:

Parameter Bedeutung
Sender Ein Objekt, das die Daten enthält, die von dem Event verwendet werden sollen.
Event Eine Funktion, die die Instanz des Wertes T zurückgibt und der das Sender-Objekt als Parameter übergeben wird.

Rufen Sie die zweite überladene Future-Methode mit den unten beschriebenen Parametern auf:

Parameter Bedeutung
Sender Ein Objekt, das die Daten enthält, die von dem Event verwendet werden sollen.
Event Eine Funktion, die die Instanz des Wertes T zurückgibt und der das Sender-Objekt als Parameter übergeben wird.
APool Ein Thread-Pool, mit dem die Funktion ausgeführt wird.


Rufen Sie die dritte überladene Future-Methode mit den unten beschriebenen Parametern auf:

Parameter Bedeutung
Func Eine TFunc-Referenz auf die Funktion, die die Instanz des Wertes T zurückgibt.

Rufen Sie die vierte überladene Future-Methode mit den unten beschriebenen Parametern auf:

Parameter Bedeutung
Func Eine TFunc-Referenz auf eine Funktion, die die Instanz des Wertes T zurückgibt.
APool Ein Thread-Pool, mit dem die Funktion ausgeführt wird.

Sofern vorhanden, werden Sender-Parameter an die Zielfunktion als Parameter ähnlich wie Ereignisbehandlungsroutinen übergeben, die Eigenschaften und Methoden des Sender-Objekts für die Funktion bereitstellen, die in einem parallelen Thread ausgeführt werden soll.

Ob eine Funktion in einem parallelen Thread ausgeführt werden kann, hängt von der CPU und den zur Ausführungszeit verfügbaren Threading-Ressourcen der Zielplattform ab. Wenn ein ThreadPool-Parameter angegeben ist, werden die Threading-Ressourcen für den Aufruf von Future<T> von hier anstatt aus einem Standard-Pool genommen; wird verwendet, wenn Threading-Ressourcen begrenzt werden müssen, um für andere Zwecke zur Verfügung zu stehen.

Siehe auch