API:System.Threading.TFuture

De RAD Studio API Documentation
Aller à : navigation, rechercher

System.Threading.TTaskSystem.Threading.TAbstractTaskSystem.Threading.TThreadPool.TAbstractWorkerDataSystem.TInterfacedObjectSystem.TObjectTFuture

Delphi

TFuture<T> = class sealed(TTask, IFuture<T>)

Propriétés

Type Visibilité  Source Unité  Parent
class public System.Threading.pas System.Threading System.Threading

Description

TTask est une classe gérant et représentant des procédures qui peuvent être exécutées dans des threads parallèles.

System.Threading.TFuture hérite de System.Threading.TTask. Tout le contenu en-dessous de cette ligne se réfère à System.Threading.TTask.

TTask est une classe gérant et représentant des procédures qui peuvent être exécutées dans des threads parallèles.

Une instance de TTask représente une tâche unique ou une unité de travail à exécuter dans un thread parallèle à d'autres tâches en cours d'exécution, si possible.

La classe TTask crée et gère des instances de tâches représentées par l'interface ITask, qui peuvent être des instances de TTask, ses types descendants, ou d'autres types compatibles avec l'interface ITask.

La procédure associée à une tâche peut s'exécuter en parallèle avec d'autres procédures associées à d'autres tâches similaires et à d'autres threads en cours d'exécution. Les tâches qui peuvent s'exécuter en parallèle et l'instant où elles s'exécutent dépendent des ressources de thread disponibles dans l'environnement d'exécution de la plate-forme cible.

Les tâches appropriées à l'exécution en parallèle peuvent être créées en utilisant le constructeur Create. Les procédures de tâches fournies au constructeur sont considérées comme prêtes pour l'exécution après l'appel de la méthode Start.

Les méthodes WaitForAll, WaitForAny et Wait de ITask sont utilisées pour suspendre explicitement l'exécution du thread appelant afin d'attendre l'exécution de certaines tâches ou de toutes les tâches.

Pour annuler l'exécution d'une tâche, appelez la méthode Cancel de l'instance appropriée de ITask.

Une procédure de tâche peut être créée et gérée pour l'exécution en utilisant directement la méthode Run, correspondant à l'appel de Create suivi immédiatement par Start.

Pour les tâches pour lesquelles une valeur de retour est nécessaire à un point ultérieur dans le programme, la fonction générique Future peut être utilisée pour lancer la tâche déterminant la valeur nécessaire en parallèle à d'autres tâches. Cette valeur est ensuite récupérée aux endroits nécessaires en appelant sa méthode GetValue.

Si des tâches qui peuvent s'exécuter en parallèle requièrent globalement des ressources et des variables disponibles, etc., utilisez les outils de synchronisation de l'unité System.SyncObjs afin d'éviter d'éventuels conflits.

Voir aussi