Domanda

osservando 4-6 filettature in Windows 7 x64 nell'applicazione che hanno 3 fili e si comporta normalmente su qualsiasi Windows (32 o 64 bit) prima di Windows 7.

Process Explorer mostra il thread "sconosciuto":

ntdll.dll!EtwDeliverDataBlock+offset

dopo intervallo casuale compaiono i seguenti thread:

ntdll.dll!TpCallbackIndependent+offset
ntdll.dll!TpCallbackIndependent+offset

dopo che l'applicazione non può creare filo (il codice di errore 8, spazio abbastanza caldo ...).

Mi sembra che alcune DLL sistema crea le discussioni ETW o qualcosa del genere. Qualcuno sa che cosa questi fili e come gestirli?

È stato utile?

Soluzione

I fili TP sono una parte di Windows ThreadPool API e si creano perché l'applicazione (o una DLL utilizzate dall'applicazione) ha utilizzato Windows ThreadPool API. Sembra anche che l'applicazione (o una delle DLL utilizzate dall'applicazione) sta usando le API ETW che utilizzano anche un paio di fili. Davvero non avete la possibilità di gestire questi fili.

Dubito seriamente che queste discussioni sono ciò che sta causando l'errore di memoria. E 'più probabile che il problema è che non c'è abbastanza memoria contigua disponibile nel processo per prenotare la camera per lo stack del nuovo thread.

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