System.Threading.TTask.Future

De RAD Studio API Documentation
Aller à : navigation, rechercher

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)

Propriétés

Type Visibilité  Source Unité  Parent
function public
System.Threading.pas
SystemThreading.h
System.Threading TTask


Description

Future accepte une fonction capable de s'exécuter dans un thread parallèle, renvoyant une interface qui permet d'obtenir le résultat au moment où il est requis dans le programme.

La valeur de renvoi de la fonction est obtenue au moment requis dans le programme via l'instance de IFuture<T> donnée par le résultat de Future<T>. Le paramètre de type, T, représente le type de renvoi de la fonction désignée pour s'exécuter dans un thread parallèle.

La méthode Future renvoie une instance de IFuture dans la variable définie de type T.

Appelez la première méthode Future surchargée avec les paramètres décrits ci-dessous.

Paramètre Signification
Sender Un objet contenant des données qui seront utilisées par Event.
Event Une fonction qui renvoie l'instance de la valeur T et reçoit l'objet Sender en tant que paramètre.

Appelez la seconde méthode Future surchargée avec les paramètres décrits ci-dessous.

Paramètre Signification
Sender Un objet contenant des données qui seront utilisées par Event.
Event Une fonction qui renvoie l'instance de la valeur T et reçoit l'objet Sender en tant que paramètre.
APool Un thread thread-pool utilisé pour exécuter la fonction.


Appelez la troisième méthode Future surchargée avec les paramètres décrits ci-dessous :

Paramètre Signification
Func Une référence TFunc à la fonction qui renvoie l'instance de la valeur T.

Appelez la quatrième méthode Future surchargée avec les paramètres décrits ci-dessous.

Paramètre Signification
Func Une référence TFunc à une fonction qui renvoie l'instance de la valeur T.
APool Un thread thread-pool utilisé pour exécuter la fonction.

S'ils sont présents, les paramètres Sender sont transmis à la fonction cible comme cela se produit avec les gestionnaires d'événement, fournissant les propriétés et les méthodes de l'objet Sender à la fonction ciblée pour s'exécuter dans un thread parallèle.

L'exécution d'une fonction dans un thread parallèle dépend du CPU et des ressources de threads disponibles sur la plate-forme cible au moment de l'exécution. Lorsqu'un paramètre ThreadPool est spécifié, les ressources de threads pour l'appel à Future<T> sont récupérées à partir de ce pool et non pas à partir d'un pool par défaut (utilisé lorsque les ressources de threads doivent être limitées, ce qui permet de libérer des ressources de threads à d'autres fins).

Voir aussi