In this video, I answer the question “How to Cancel Tasks in C# using the CancellationTokenSource and CancellationToken objects?”.
Cancelling a Task in C# is pretty straight foreword. There are actually several ways to cancel a Task in C#. The three most common ways to cancel a task are by polling , by registering a callback, and by using the Wait handle. You can even cancel multiple tokens simultaneously.
In this video, we use the polling approach as that is meant for scenarios in which you have long-running computations that loop or recurse.
The general pattern used to cancel a task is:
– Instantiate a CancellationTokenSource object, which manages and sends cancellation notification to the individual cancellation tokens.
– Pass the token returned by the CancellationTokenSource.Token property to each task or thread that listens for cancellation.
– Provide a mechanism for each task or thread to respond to cancellation.
– Call the CancellationTokenSource.Cancel method to provide notification of cancellation.
It’s important to note that you should always call the CancellationTokenSource.Dispose method when you have finished using the cancellation token source to free any unmanaged resources it holds.