[new:30/09/2015]Poursuivons cette petite série sur Task. Passons rapidement sur les options de création, avant de nous lancer dans le vif du sujet.
Liens rapides vers la série complète
Task, qui es-tu ? partie 1 – Task la fuyante…
Task, qui es-tu ? partie 2 – Construction
Task, qui es-tu ? partie 3 – AsyncState
Task, qui es-tu ? partie 4 – CreationOptions
Task, qui es-tu ? partie 5 – Delegate et Promise Tasks
Task, qui es-tu ? partie 6 – Unicité de l’ID de tâche
Task, qui es-tu ? partie 7 – Attendre des Tasks
Task, qui es-tu ? partie 8 – Task générique et Result
Task, qui es-tu ? partie 9 – Les continuations
Task, qui es-tu ? partie 10 – TaskFactory, Annulation de tâche…
Task, qui es-tu ? partie 11 – Delay, Yield, FromResult…
Task, qui es-tu ? partie 12 – Les patterns de l’Asynchrone
CreationOptions
TaskCreationOptions CreationOptions { get; }
Voici une définition de propriété qui ne nous renseigne pas totalement… Sauf que nous savons maintenant que CreationOptions est en lecture seule.
Et de fait cette propriété sert à cela : à prendre connaissance des options de création utilisées lors de l’instanciation de la tâche. Comme la tâche existe déjà ces options ne sont plus modifiables.
Les options de création ne sont pas utilisables qu’avec les constructeurs de Task et heureusement puisque nous avons vu qu’ils étaient rarement utilisés… On peut ainsi préciser ces fameuses options lorsqu’on utilise Task.Factory.StartNew ou TasCompletionSource<T>.
Nous verrons plus en détail au moment de l’étude de ces méthodes à quoi servent réellement les options de création, une énumération qui permet d’indiquer si la tâche doit être exécuter rapidement, s’il s’agit d’une tâche longue (ce qui permet au scheduler d’autoriser une sorte de surbooking avec plus de tâches qu’il n’y a de CPU disponibles) ou bien si elle doit être attachée à son parent (principe des nested tasks).
En tout cas pour ce qui est de la propriété elle-même il n’y a généralement aucune raison de lire sa valeur car on voit mal quelle utilisation on en ferait…
Conclusion
Voilà, le ménage est fait nous allons pouvoir aborder des choses plus utiles dans la 5ème partie à venir…
Stay Tuned !