Un hilo es un flujo de ejecución planificado dentro de un proceso. Todo proceso en ejecución tiene al menos un hilo, y un proceso multihilo tiene varios flujos que pueden avanzar simultáneamente.
Utilización de Procesos · Lección 3
Hilos de proceso
Aprende cómo los hilos de Linux comparten recursos del proceso y cómo examinarlos con ps.
Procesos e hilos
Los hilos de un proceso comparten recursos como el espacio de direcciones virtual y los descriptores de archivo abiertos. Cada hilo conserva su propio estado de ejecución, incluidos los registros y una pila. Compartir recursos hace eficiente la comunicación, pero también significa que un cambio sin sincronizar de un hilo puede afectar a los demás.
Los procesos independientes suelen tener espacios de direcciones distintos y se comunican mediante mecanismos explícitos entre procesos. Ninguno de los diseños es automáticamente más rápido o seguro; la carga de trabajo y la implementación determinan las ventajas e inconvenientes.
¿Qué recurso comparten normalmente los hilos de un mismo proceso?
Identificadores de hilos
Linux representa cada hilo como una tarea planificable con su propio identificador de hilo. El identificador del líder del grupo de hilos suele presentarse como identificador de proceso, mientras que todos los miembros comparten un identificador de grupo de hilos. Las herramientas utilizan etiquetas como PID, TID, LWP y SPID; consulta las definiciones de campos de la herramienta en vez de suponer que todas significan lo mismo.
¿Qué mantiene de forma independiente cada hilo?
Mostrar hilos con ps
Utiliza campos de salida explícitos para evitar diseños predeterminados ambiguos:
$ ps -eLo pid,tid,psr,stat,comm
En ps de procps, -L muestra hilos y -e selecciona todos los procesos. pid identifica el grupo de hilos, tid identifica un hilo concreto, psr muestra la CPU en la que se ejecutó por última vez y stat comunica el estado. Para examinar un proceso:
$ ps -L -p 1234 -o pid,tid,stat,pcpu,comm
Los listados de hilos son instantáneas. Un hilo puede terminar o cambiar de estado inmediatamente después.
¿Qué orden muestra los hilos pertenecientes al PID 1234 con campos explícitos?
Interpretar la actividad de los hilos
Una actividad de CPU alta en un hilo puede quedar oculta por el promedio de todo el proceso. Combina muestras de CPU a nivel de hilo con registros de la aplicación, trazas de pilas y herramientas de perfilado. No conectes depuradores ni envíes señales a tareas de producción sin comprender sus efectos sobre las pausas, los permisos y el servicio.
¿Por qué no debe tratarse un listado de hilos de ps como estado permanente?
Lección completada
Has completado Hilos de proceso
Ahora puedes distinguir los recursos del proceso del estado de ejecución de cada hilo.
Reconoce que todo proceso tiene al menos un hilo.
Identifica los recursos compartidos por los hilos de un proceso.
Muestra identificadores explícitos de procesos e hilos con
ps -L.Trata la salida de hilos como una instantánea y relaciónala con otras pruebas.
Guarda tu progreso
Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.
Crear una cuenta gratuita