A sessão de perguntas e respostas de hoje nos é oferecida por cortesia do SuperUser, uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade.
Foto cedida por Matthias Ripp (Flickr).
A questão
Leitor SuperUser ArunPrasanth quer saber como o Windows sabe que um programa não está respondendo:
How does Windows know if a program is not responding? Does it constantly poll all running applications?
Como o Windows sabe se os programas não estão respondendo?
A resposta
SuperUser contribuinte ratchet freak tem a resposta para nós:
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.
Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.