Io uso Task
s per eseguire operazioni asincrone NET.È possibile assegnare un nome temporaneo a un thread dal pool di thread?
Al fine di fare un uso migliore dei fili finestra di debug, vorrei identificare l'operazione attualmente in esecuzione da un nome thread. Tuttavia, la proprietà Name
di ciascun thread può essere impostata solo una volta. Quindi, la seconda volta che viene utilizzato lo stesso thread del pool, ricevo un'eccezione di runtime.
C'è un modo per aggirare questo?
Questa non è una risposta diretta alla tua domanda, ma hai guardato la finestra 'Debug -> Windows -> Attività parallele'? Mostra (tra le altre cose): lo stato di un'attività, l'ID del thread su cui è in esecuzione e il suo metodo di destinazione. – Ani
Mi chiedo perché il nome si limiti a essere impostato una volta sola? Potrei capire di avere un nome che deve essere impostato in modo univoco prima dell'avvio di un thread (con il sistema che forse genera un GUID se non è stato specificato nient'altro), ma anche se si desiderava che ogni thread avesse un nome immutabile che lo identificasse, sarebbe utile per avere un campo "descrizione" mutevole. Qualche idea sul perché i nomi/le descrizioni dei thread non siano mutabili? – supercat