sto probabilmente manca qualcosa di ovvio, ma mi humor ...Come Window Filo di Visual Studio Identificare il "Main Thread'
mi piace sempre di nominare i thread importanti nei miei apps come è utile con il debug/registrazione, ecc. Se si interroga il nome del thread principale tramite Thread.CurrentThread.Name
all'avvio del programma, si tornerà a null
. Come tale, mi assicuro sempre che la prima cosa che accade sia che il thread principale (e qualsiasi altro thread rilevante) venga assegnato a un elemento significativo nome per riferimento futuro
Non ci ho mai pensato molto fino ad oggi, ma guardando la finestra Threads in Visual Studio (prima che vengano assegnati nomi di thread ed ecc.), una categoria speciale 'Main Thread' è assegnata così come un nome psuedo che legge anche "Main Thread" (ma questo non è il nome del thread effettivo).
Da una prospettiva gestita, .NET non espone nulla di significativo su System.Threading.Thread
o System.Diagnostics.ProcessThread
che identifica il thread principale di un'applicazione (almeno che potrei vedere). Ho guardato l'elenco di Windows Process and Thread Functions, e di nuovo, non ho visto nulla di ovvio (forse OpenThread?).
Curioso se qualcuno sa come la finestra Thread assegna la categoria speciale "Main Thread"?
Ah, questo ha senso; grazie per le informazioni. Il codice sorgente è decisamente interessante. –
Le notifiche CREATE_THREAD_DEBUG_EVENT sono asincrone. Non sono sicuro che l'ordine di consegna sia garantito. Le informazioni restituite da CreateProcess hanno senso, però. –