Il arrive souvent que les traitements lancés dans un thread donné - éventuellement asynchrones, soient longs ou du moins sans retour quant à la durée d’exécution et à son niveau d’avancement. La question de l’annulation d’une procédure très longue se pose alors.
La plate-forme .NET propose la structure CancellationToken stockée dans l’espace de noms System.Threading, qui permet justement de gérer l’annulation de tâches.
Voici sa définition :
[ComVisible(false)] [DebuggerDisplay("IsCancellationRequested = {IsCancellationRequested}")] public struct CancellationToken { public CancellationToken(bool canceled); public static CancellationToken None { get; } public bool IsCancellationRequested { get; } public bool CanBeCanceled { get; } public WaitHandle WaitHandle { get; } public bool Equals(CancellationToken other); public override bool Equals(object other); public override int GetHashCode(); public CancellationTokenRegistration Register(Action callback); public CancellationTokenRegistration Register(Action callback, bool useSynchronizationContext); public CancellationTokenRegistration Register(Action<object> callback, object state); public CancellationTokenRegistration Register(Action<object> ...
Abonnement
tous les livres et vidéos ENI en illimité sans engagement
du livre imprimé ou du livre numérique