JoinableTaskContext Costruttori
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| JoinableTaskContext() |
Inizializza una nuova istanza della JoinableTaskContext classe presupponendo che il thread corrente sia il thread principale e Current fornirà i mezzi per passare al thread principale da un altro thread. |
| JoinableTaskContext(Thread, SynchronizationContext) |
Inizializza una nuova istanza della classe JoinableTaskContext. |
JoinableTaskContext()
Inizializza una nuova istanza della JoinableTaskContext classe presupponendo che il thread corrente sia il thread principale e Current fornirà i mezzi per passare al thread principale da un altro thread.
public:
JoinableTaskContext();
public:
JoinableTaskContext();
JoinableTaskContext();
public JoinableTaskContext();
Public Sub New ()
Commenti
Quando Current viene null richiamato questo costruttore, le richieste di passare al thread principale tramite SwitchToMainThreadAsync(CancellationToken) non genereranno alcun commutatore di thread. Ciò è appropriato per gli ambienti di unit test in cui non è presente alcun thread principale per passare a processi o che altrimenti non definiscono un thread principale.
Problemi di thread safety: Se configurata senza un contesto di sincronizzazione, il codice che richiede il thread principale come mezzo per evitare la concorrenza può non funzionare a causa di condizioni di race condition dei dati.
Si applica a
JoinableTaskContext(Thread, SynchronizationContext)
Inizializza una nuova istanza della classe 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)
Parametri
- mainThread
- Thread
Thread a cui passare in SwitchToMainThreadAsync(CancellationToken).
Se null, si presuppone che il thread corrente sia il thread principale.
- synchronizationContext
- SynchronizationContext
Contesto di sincronizzazione da usare per passare al thread principale.
Se null viene specificato (o l'argomento viene omesso), verrà usato il contesto di sincronizzazione corrente.
Se Current è anche null, le richieste di passare al thread principale tramite SwitchToMainThreadAsync(CancellationToken) non genereranno alcun commutatore di thread.
Ciò è appropriato per gli ambienti di unit test in cui non è presente alcun thread principale per passare a processi o che altrimenti non definiscono un thread principale.
Problemi di thread safety: Se configurata senza un contesto di sincronizzazione, il codice che richiede il thread principale come mezzo per evitare la concorrenza può non funzionare a causa di condizioni di race condition dei dati.