Esa no es la forma en que funciona. Cualquier subproceso en un programa administrado puede ejecutar código administrado, incluidos los que originalmente se iniciaron como un subproceso no administrado. La mayoría de ellas son, el hilo principal y cualquier hilo de subprocesos inicia vida ejecutando código puramente no administrado. Se transforma en código administrado a través del tipo de puerta de enlace proporcionada por Marshal.GetDelegateForFunctionPointer().
Ver docenas de hilos (de lo contrario inactivos) no es inusual. Por lo general, son subprocesos threadpool y subprocesos iniciados por servidores COM. A .NET le falta la fontanería que necesitaría para utilizar Thread.ManagedThreadId en esos hilos. Eso es intencional, un hilo .NET lógico no tiene que ser un hilo del sistema operativo físico. Aunque no hay un host en uso actual donde ese no es el caso.
Deberá evitar tener que formular la pregunta.
gracias por dejarme saber. sin embargo, me gustaría tener una respuesta. ¿Cómo puedo saber cuántos hilos gestionados se crean en mis aplicaciones en cualquier momento? –
Los creas, cuéntalos. –
ese es el punto! Uso 3d party API y no quieren revelar detalles, también podría usar un grupo de subprocesos u otro software, etc. –