Condividi tramite


Classe ThreadHelper

Fornisce un supporto generico del dispatcher per assicurare che un metodo viene richiamato il thread principale dell'applicazione.

Gerarchia di ereditarietà

System.Object
  Microsoft.VisualStudio.Shell.ThreadHelper

Spazio dei nomi:  Microsoft.VisualStudio.Shell
Assembly:  Microsoft.VisualStudio.Shell.11.0 (in Microsoft.VisualStudio.Shell.11.0.dll)

Sintassi

'Dichiarazione
Public MustInherit Class ThreadHelper
public abstract class ThreadHelper

Il tipo ThreadHelper espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo protetto ThreadHelper inizializza una nuova istanza di ThreadHelper.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblicaMembro statico Generic ottiene ThreadHelpergenerico.

In alto

Metodi

  Nome Descrizione
Metodo pubblico BeginInvoke(Action)
Metodo pubblico BeginInvoke(DispatcherPriority, Action)
Metodo pubblicoMembro statico CheckAccess
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo protetto GetInvocationWrapper ottiene il wrapper di chiamata.
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico Invoke(Action) Chiama un'azione sul thread UI.
Metodo pubblico Invoke<TResult>(Func{) Valutare una funzione sul thread UI.
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Note

È possibile utilizzare il dispatcher corrente dell'applicazione per l'identificazione pratico del thread principale.Si noti che questo significa che l'oggetto application deve essere inizializzato dall'amministratore di finestra.

Tuttavia, gli oggetti di DispatcherOperation non vengono utilizzati, perché non sono compatibili con il RPC.Ad esempio, se il thread UI è attualmente coinvolto in una chiamata RPC e codice dovrà essere eseguito sul thread UI, gli oggetti di DispatcherOperation non passeranno tramite.Questo perché gli oggetti di DispatcherOperation vengono avviati inserendo un messaggio al thread UI e il thread UI necessario inviare il messaggio.Se il thread UI esegue una chiamata RPC, questi messaggi non verranno rimossi dalla coda.I processi di filtro messaggi dallo standard OLE solo un set limitato dei messaggi della coda.

Passando dal servizio di SVsUIThreadInvokerPrivate , l'operazione diventa una chiamata COM sul thread UI.Questa operazione è consentita dal filtro messaggi da Visual Studio se fa parte della stessa chiamata logica, poiché il filtro messaggi la visualizzate come denominata annidata e non può rifiutarlo.

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Shell