| |
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.
|