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 | |
---|---|---|
![]() |
ThreadHelper | inizializza una nuova istanza di ThreadHelper. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
![]() ![]() |
Generic | ottiene ThreadHelpergenerico. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
![]() |
BeginInvoke(Action) | |
![]() |
BeginInvoke(DispatcherPriority, Action) | |
![]() ![]() |
CheckAccess | |
![]() |
Equals | Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object) |
![]() |
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) |
![]() |
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) |
![]() |
GetInvocationWrapper | ottiene il wrapper di chiamata. |
![]() |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
![]() |
Invoke(Action) | Chiama un'azione sul thread UI. |
![]() |
Invoke<TResult>(Func{) | Valutare una funzione sul thread UI. |
![]() |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) |
![]() |
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.