JoinableTaskFactory::SwitchToMainThreadAsync Method (CancellationToken)

 

Gets an awaitable whose continuations execute on the synchronization context with which this instance was initialized, so that both deadlocks and reentrancy are mitigated.

Namespace:   Microsoft.VisualStudio.Threading
Assembly:  Microsoft.VisualStudio.Threading (in Microsoft.VisualStudio.Threading.dll)

public:
JoinableTaskFactory::MainThreadAwaitable SwitchToMainThreadAsync(
	CancellationToken cancellationToken = null
)

Parameters

cancellationToken
Type: System.Threading::CancellationToken

A token whose cancellation immediately schedules the continuationon a threadpool thread.

private async Task SomeOperationAsync() {
    // on the caller's thread.
    await DoAsync();
    // Now switch to a threadpool thread explicitly.
    await TaskScheduler.Default;

    Now switch to the Main thread to talk to some STA object.
    await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();
    STAService.DoSomething();
}
Return to top
Show: