Task.Dispose Method (Boolean)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Disposes the Task, releasing all of its unmanaged resources.

Namespace:   System.Threading.Tasks
Assembly:  mscorlib (in mscorlib.dll)

protected virtual void Dispose(
	bool disposing


Type: System.Boolean

A Boolean value that indicates whether this method is being called due to a call to Dispose.

Exception Condition

The task is not in one of the final states: TaskStatus.RanToCompletion, TaskStatus.Faulted, or TaskStatus.Canceled.

.NET Framework
Available since 4.0
Available since 5.0

Unlike most of the members of the Task class, this method is not thread-safe.

The Task class implements the IDisposable interface because internally it uses resources that also implement IDisposable. However, particularly if your app targets the .NET Framework 4.5 or later, there is no need to call Dispose unless performance or scalability testing indicates that, based on your usage patterns, your app's performance would be improved by disposing of tasks. For more information, see Do I need to dispose of Tasks? in the Parallel Programming with .NET blog.

Return to top