Task.Dispose Method (Boolean)


Disposes the Task, releasing all of its unmanaged resources.

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

abstract Dispose : 
        disposing:bool -> unit
override Dispose : 
        disposing:bool -> unit


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