Сегодняшняя сессия вопросов и ответов приходит к нам благодаря SuperUser - подразделению Stack Exchange, основанной на сообществах сайтам Q & A.
Фото любезно предоставлено Маттиасом Риппом (Flickr).
Вопрос
Читатель SuperUser ArunPrasanth хочет знать, как Windows знает, что программа не отвечает:
How does Windows know if a program is not responding? Does it constantly poll all running applications?
Как Windows знает, не отвечают ли программы?
Ответ
У нас есть трекер с трещоткой SuperUser:
An application gets events from a queue provided by Windows. If the application does not poll the event queue for a while (5 seconds), such as doing a long calculation for example, then Windows assumes that the application is hung and alerts the user.
To avoid that, applications should push expensive calculations to worker threads or split up processing and make sure the queue gets polled regularly.
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других пользователей Windows? Посмотрите здесь полную дискуссионную тему.