Procesos y subprocesos
Subprocesos y procesos son conceptos relacionados en informática. Los dos representan secuencias de instrucciones que se deben ejecutar en un orden concreto. Sin embargo, las instrucciones de subprocesos o procesos independientes se pueden ejecutar en paralelo.
Los procesos existen en el sistema operativo y corresponden a lo que los usuarios consideran programas o aplicaciones. Por otra parte, un subproceso existe dentro de un proceso. Por esta razón, los subprocesos se denominan a veces procesos ligeros. Cada proceso está compuesto por uno o más subprocesos.
La existencia de varios procesos permite a un equipo realizar más de una tarea a la vez. La existencia de varios subprocesos permite a un proceso dividir el trabajo que se va a realizar en paralelo. En un equipo con multiprocesadores, los procesos o subprocesos se pueden ejecutar en procesadores diferentes. Esto permite realizar un verdadero procesamiento en paralelo.
El procesamiento paralelo perfecto no siempre es posible. En ocasiones, los subprocesos deben sincronizarse. Es posible que un subproceso tenga que esperar al resultado de otro subproceso, o necesite acceso exclusivo a un recurso que otro subproceso esté utilizando. Los problemas de sincronización son una causa común de errores en las aplicaciones multiproceso. A veces, los subprocesos pueden acabar esperando un recurso que nunca está disponible. Esto provoca una condición denominada interbloqueo.
El depurador de Visual Studio proporciona herramientas eficaces pero fáciles de usar para depurar subprocesos y procesos.
Herramientas para depurar subprocesos y procesos en Visual Studio
Las herramientas principales para trabajar con procesos en Visual Studio son el cuadro de diálogo Asociar al proceso, la ventana Procesos y la barra de herramientas Ubicación de depuración. Las herramientas principales para depurar subprocesos son la ventana Subprocesos, los marcadores de subprocesos en ventanas de código fuente, y la barra de herramientas Ubicación de depuración.
Las herramientas principales para depurar aplicaciones multithreading son las ventanas Pilas paralelas y Tareas paralelas.
La tabla siguiente muestra la información disponible y las acciones que se pueden realizar en cada uno de estos lugares:
Interfaz de usuario |
Información disponible |
Acciones que puede realizar |
---|---|---|
Cuadro de diálogo Asociar al proceso |
Procesos disponibles que puede asociar:
|
Seleccionar un proceso para asociar Seleccionar un equipo remoto Cambiar el tipo de transporte para conectar a equipos remotos. |
Ventana Procesos |
Procesos asociados:
|
Herramientas:
Menú contextual:
|
Ventana Subprocesos |
Subprocesos en el proceso actual:
|
Herramientas:
Menú contextual:
Otras acciones:
|
Ventana de código fuente |
Los indicadores de subproceso del margen interno izquierdo indican uno o varios procesos (desactivados de forma predeterminada, se activan mediante el menú contextual de la ventana Subprocesos) |
Menú contextual:
|
Barra de herramientas Ubicación de depuración |
|
|
Ventana Pilas paralelas |
|
|
Ventana Tareas paralelas |
|
|
Vea también
Tareas
Cómo: Utilizar la ventana Procesos