¿Cómo Windows sabe que un programa no responde?
Cualquiera que haya usado Windows ha visto el ocasional mensaje del sistema que indica que un programa no responde, pero ¿cómo lo sabe exactamente Windows? La publicación de preguntas y respuestas del superusuario de hoy tiene la respuesta a la pregunta de un lector desconcertado.
La sesión de Preguntas y Respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, un grupo de sitios web de preguntas y respuestas impulsado por la comunidad..
Foto cortesía de Matthias Ripp (Flickr).
La pregunta
El lector Superusuario ArunPrasanth quiere saber cómo sabe Windows que un programa no responde:
¿Cómo sabe Windows si un programa no responde? ¿Sondea constantemente todas las aplicaciones en ejecución??
¿Cómo sabe Windows si los programas no responden??
La respuesta
Superusuario colaborador ratchet freak tiene la respuesta para nosotros:
Una aplicación obtiene eventos de una cola proporcionada por Windows. Si la aplicación no sondea la cola de eventos por un tiempo (5 segundos), como hacer un cálculo largo, por ejemplo, Windows asume que la aplicación está bloqueada y alerta al usuario.
Para evitar eso, las aplicaciones deben enviar cálculos costosos a los subprocesos de trabajo o dividir el procesamiento y asegurarse de que la cola se examine regularmente.
¿Tienes algo que agregar a la explicación? Apaga el sonido en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange con experiencia en tecnología? Echa un vistazo a la discusión completa aquí.