JoinableTaskContext Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
| Nazwa | Opis |
|---|---|
| JoinableTaskContext() |
Inicjuje nowe wystąpienie JoinableTaskContext klasy przy założeniu, że bieżący wątek jest głównym wątkiem i Current zapewni środki przełączenia się do głównego wątku z innego wątku. |
| JoinableTaskContext(Thread, SynchronizationContext) |
Inicjuje nowe wystąpienie klasy JoinableTaskContext. |
JoinableTaskContext()
Inicjuje nowe wystąpienie JoinableTaskContext klasy przy założeniu, że bieżący wątek jest głównym wątkiem i Current zapewni środki przełączenia się do głównego wątku z innego wątku.
public:
JoinableTaskContext();
public:
JoinableTaskContext();
JoinableTaskContext();
public JoinableTaskContext();
Public Sub New ()
Uwagi
Gdy Current jest null w momencie wywołania tego konstruktora, żądania przełączenia do głównego wątku przy użyciu SwitchToMainThreadAsync(CancellationToken) nie spowodują przełączenia wątku. Jest to odpowiednie w przypadku środowisk testowych jednostkowych, w których nie ma głównego wątku do przełączenia do lub procesów, które w przeciwnym razie nie definiują wątku głównego.
Problem z bezpieczeństwem wątków: Po skonfigurowaniu bez kontekstu synchronizacji kod, który żąda głównego wątku jako środka uniknięcia współbieżności, może działać nieprawidłowo z powodu warunków wyścigu danych.
Dotyczy
JoinableTaskContext(Thread, SynchronizationContext)
Inicjuje nowe wystąpienie klasy JoinableTaskContext.
public JoinableTaskContext(System.Threading.Thread mainThread = default, System.Threading.SynchronizationContext synchronizationContext = default);
public JoinableTaskContext(System.Threading.Thread? mainThread = default, System.Threading.SynchronizationContext? synchronizationContext = default);
new Microsoft.VisualStudio.Threading.JoinableTaskContext : System.Threading.Thread * System.Threading.SynchronizationContext -> Microsoft.VisualStudio.Threading.JoinableTaskContext
Public Sub New (Optional mainThread As Thread = Nothing, Optional synchronizationContext As SynchronizationContext = Nothing)
Parametry
- mainThread
- Thread
Wątek do przełączenia na w systemie SwitchToMainThreadAsync(CancellationToken).
Jeśli null, bieżący wątek zostanie przyjęty jako główny wątek.
- synchronizationContext
- SynchronizationContext
Kontekst synchronizacji, który ma być używany do przełączania się do wątku głównego.
Jeśli null zostanie określony (lub argument zostanie pominięty), zostanie użyty bieżący kontekst synchronizacji.
Jeśli Current parametr ma również nullwartość , żądania przełączenia do głównego wątku przy użyciu SwitchToMainThreadAsync(CancellationToken) polecenia nie spowodują przełączenia wątku.
Jest to odpowiednie w przypadku środowisk testowych jednostkowych, w których nie ma głównego wątku do przełączenia do lub procesów, które w przeciwnym razie nie definiują wątku głównego.
Problem z bezpieczeństwem wątków: Po skonfigurowaniu bez kontekstu synchronizacji kod, który żąda głównego wątku jako środka uniknięcia współbieżności, może działać nieprawidłowo z powodu warunków wyścigu danych.