Domanda

Ho un eseguibile in modalità mista e ho notato che il costruttore delle mie variabili globali nativo è chiamata nel thread principale, ma il distruttore è chiamato in qualche altro thread.
Il nome di filo è 'Discussione :: intermediateThreadProc'.

Qual è la ragione di questo? E che cosa è questo 'Discussione :: intermediateThreadProc' filo?

Grazie.

È stato utile?

Soluzione

Discussione :: intermediateThreadProc () è una funzione di piccolo aiutante nel CLR che viene utilizzato come la funzione di avvio discussione per qualsiasi discussione avviata dal CLR. Cercare indietro nella sorgente SSCLI20, src \ vm \ threads.cpp

Vedendo questo percorso su un altro thread è prevedibile. codice di pulitura viene eseguito quando il dominio di applicazione viene scaricata. La logica CLR perché è potente complicato, ma sembra che sarà eseguito quando il dominio di applicazione viene eseguito il thread finalizzatore per l'ultima volta per ripulire il mucchio. Si può supporre che tutti gli oggetti gestiti sono morti e non ci sono altri thread in esecuzione. Attenzione che il codice è soggetto alle due secondi timeout thread finalizzatori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top