Как Windows знает, что программа не отвечает?

Любой, кто использовал Windows, видел случайное системное сообщение о том, что программа не отвечает, но как именно Windows это знает? Сегодняшнее сообщение SuperUser Q & A содержит ответ на вопрос озадаченного читателя.

Сегодняшняя сессия вопросов и ответов приходит к нам благодаря SuperUser – подразделению Stack Exchange, группы веб-сайтов вопросов и ответов, управляемой сообществом.

Фото предоставлено Матиасом Риппом (Flickr).

Вопрос

Читатель SuperUser ArunPrasanth хочет знать, как Windows знает, что программа не отвечает:

Как Windows узнает, что программа не отвечает? Постоянно ли опрашивает все запущенные приложения?

Как Windows узнает, что программы не отвечают?

Ответ

Ответчик Superuser за трещотку-фрик имеет ответ для нас:

Приложение получает события из очереди, предоставленной Windows. Если приложение не опрашивает очередь событий какое-то время (5 секунд), например, при выполнении длинных вычислений, то Windows предполагает, что приложение зависло, и предупреждает пользователя.

Чтобы избежать этого, приложения должны передавать дорогостоящие вычисления рабочим потокам или разделять обработку и обеспечивать регулярный опрос очереди.

Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других опытных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь.

Оцените статью
TutoryBird.Ru
Добавить комментарий