Partager via


JoinableTaskFactory.SwitchToMainThreadAsync Method

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)

Syntax

'Declaration
Public Function SwitchToMainThreadAsync ( _
    cancellationToken As CancellationToken _
) As JoinableTaskFactory.MainThreadAwaitable
public JoinableTaskFactory.MainThreadAwaitable SwitchToMainThreadAsync(
    CancellationToken cancellationToken
)
public:
JoinableTaskFactory::MainThreadAwaitable SwitchToMainThreadAsync(
    CancellationToken cancellationToken
)
member SwitchToMainThreadAsync : 
        cancellationToken:CancellationToken -> JoinableTaskFactory.MainThreadAwaitable
public function SwitchToMainThreadAsync(
    cancellationToken : CancellationToken
) : JoinableTaskFactory.MainThreadAwaitable

Parameters

Return Value

Type: Microsoft.VisualStudio.Threading.JoinableTaskFactory.MainThreadAwaitable
An awaitable.

Examples

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();
}

.NET Framework Security

See Also

Reference

JoinableTaskFactory Class

Microsoft.VisualStudio.Threading Namespace