JoinableTask<T> Class
Tracks asynchronous operations and allows you to Join asynchronous operations. This is to avoid deadlocks while synchronously blocking the Main thread until the completion of the operation.
Assembly: Microsoft.VisualStudio.Threading (in Microsoft.VisualStudio.Threading.dll)
Microsoft.VisualStudio.Threading.JoinableTask
Microsoft.VisualStudio.Threading.JoinableTask<T>
| Name | Description | |
|---|---|---|
![]() | IsCompleted | Determines whether the asynchronous operation represented by this instance has completed.(Inherited from JoinableTask.) |
![]() | Task | Gets the asynchronous task that completes when the asynchronous operation completes. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | (Inherited from Object.) |
![]() | Finalize() | (Inherited from Object.) |
![]() | GetAwaiter() | Gets an awaiter that is equivalent to calling JoinAsync. |
![]() | GetHashCode() | (Inherited from Object.) |
![]() | GetType() | (Inherited from Object.) |
![]() | Join(CancellationToken) | Synchronously blocks the calling thread until the operation has completed. If the calling thread is the Main thread, deadlocks are mitigated. |
![]() | JoinAsync(CancellationToken) | Joins any main thread affinity of the caller with the asynchronous operation. This is to avoid deadlocks in case the main thread ultimately synchronously blocks while waiting for the operation to complete. |
![]() | MemberwiseClone() | (Inherited from Object.) |
![]() | ToString() | (Inherited from Object.) |
This type is thread-safe for all members.


