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

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

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

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

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

    Вопрос

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

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

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

    Ответ

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

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

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


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