Sepi
Name
TScCustomTaskQueue
Parent
ScSyncObjs
Class Hierarchy
TThread
Visibility
PUBLIC
Description
Gestionnaire de file (FIFO) de tâches
TScCustomTaskQueue est une classe de base pour l'implémentation de files de
tâches, qui s'exécutent de façon synchrone entre elles, mais asynchrone par
rapport au contrôleur.
Puisque TScCustomTaskQueue hérite de TThread au lieu de l'encapsuler, le
contrôleur a plein accès sur le déroulement du thread de répartition.
Un appel à la méthode Terminate mettra fin à la répartition des tâches,
même si la file n'est pas vide.
Pour attendre que la liste des messages en attente soit vide, utilisez la
propriété Ready, et non la méthode WaitFor. Pour attendre qu'une tâche en
particulier soit terminée, les descendants de TScCustomTaskQueue peuvent
offrir l'accès aux objets TScTask, qui proposent une méthode WaitFor.
Vous pouvez positionner la propriété TerminateOnException à False si vous
ne voulez pas que le traitement des messages s'arrête en cas d'exception
lors de l'un d'eux.
Les descendants de TScTaskQueue ne devraient normalement pas réimplémenter
la méthode Execute.
Members
Fields
Field Description FCriticalSection (-) Section critique sur la liste FDefaultFreeOnFinished (-) Valeur par défaut de la propriété FreeOnFinished des tâches de la file FReady (-) Indique si la file a terminé son travail FTerminateOnException (-) Indique si le thread d'exécution doit se terminer en cas d'exception FWaitingQueue (-) File des messages en attente
Methods
Method Description BeforeDestruction (+) [@inheritDoc] Cancel (-) Retire une tâche de la file d'attente Create (+) Crée une liste de tâches Destroy (+) [@inheritDoc] Execute (#) [@inheritDoc] Pop (-) Récupère la tâche suivante dans la file d'attente Push (-) Ajoute une tâche à la file
Properties
Property Description CriticalSection (#) Section critique sur la liste DefaultFreeOnFinished (#) Valeur par défaut de la propriété FreeOnFinished des tâches de la file Ready (#) Indique si la file a terminé son travail TerminateOnException (#) Indique si le thread d'exécution doit se terminer en cas d'exception WaitingQueue (#) File des messages en attente
Legend
Symbol Visibility - Private # Protected + Public * Published A Automated S Strict
Sepi