2012-01-05 17 views
8

Ho appena ricevuto l'avviso "Scalari trapelati: 1" nove volte.Che cosa significa "Scalars leaked: 1"?

Suppongo che provenga da un programma di caricamento con thread che utilizza 9 thread con thread di moduli, threads :: shared e Thread :: Queue. Questo è su WinXP, Active State 5.8.8.

Qualche idea di cosa significa? Questo programma è in esecuzione da un po 'senza avvisi di questo tipo, e rieseguo il programma con lo stesso (leggero) lavoro che ha causato gli avvertimenti, ma questa volta non ci sono avvertimenti.

Non sto cercando di avviare i thread in fase di compilazione, a meno che non sia qualcosa che Thread :: Queue esegue internamente. La mia prima chiamata al thread è dopo l'elaborazione Getopt :: Long.

risposta

3

From this website:

scalari trapelato: 1 Yikes! Cos'è quello! "Scalari trapelati: 1". Bene, sì, questo è uno dei problemi/caratteristiche/bug rimanenti dell'implementazione di Perith ithreads. Questo sembra particolarmente accadere quando inizi i thread in fase di compilazione. Dall'esperienza pratica, devo dire che sembra essere abbastanza innocuo. E rispetto a tutte le altre "perdite" di memoria che avvengono perché le strutture dei dati sono copiate, un singolo scalare trapelato non è presumibilmente molto. E il messaggio di errore è probabilmente in errore in questo caso, comunque."

+0

@ Dan Fego Grazie – Gabe

+0

ho visto che, ma notato che era dal 2003, e non ha dato molte spiegazioni su come evitare l'avvertimento. Questo il post è il motivo per cui presumo che provenga dal programma a thread singolo che ho.Si speravo che i SO ora ne sapessero qualcosa in più. –

+0

@BillRuppert Ho cercato altro sull'argomento ma non ho trovato altro ... mi spiace, – Gabe