2011-10-28 14 views
5

Estoy trabajando en una aplicación C# y estoy enfrentando algunos problemas de hilos. Me gustaría saber qué subprocesos se están ejecutando en mi aplicación.ProcessThread Name

uso el código de abajo:

foreach (ProcessThread s in Process.GetCurrentProcess().Threads) 
{ 
    try 
    { 
    int l_iTest = 0; 
    //(Thread) s.name 
    //l_liTest += s.Id + ";"; <-- name of the ProcessThread ? 
    } 
    catch 
    { 
    // Some stuff 
    }} 

Mi punto es, me gustaría saber qué clase o assambly ha puesto en marcha mi hilo.

¿Alguien tiene una idea?

+1

No puede volver de un ProcessThread a un Thread. Pase una discusión si necesita saber algo sobre el código que inició el hilo. –

+0

@HansPassant: ¿estás seguro de que no hay forma de pasar del objeto ProcessThread.Id a un objeto Thread? Eso resolvería sus problemas y minas también. –

Respuesta

1

Eche un vistazo a my answer a this question y vea si una variante podría ayudarlo (es decir, su hilo tendría acceso al depósito global de hilos conocidos dentro de la aplicación).

+0

Según tengo entendido, ¿ese código supone usar la clase para iniciar el hilo cuyo nombre uno quiere saber? Definitivamente no es una solución, p. Estoy usando un trabajador de fondo 'RunWorkerAsync', y necesito encontrar ese ID de hilo por su nombre. –