Każdy, kto korzystał z systemu Windows, od czasu do czasu zauważył komunikat systemowy informujący, że program nie odpowiada, ale jak dokładnie system Windows to wie? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser jest odpowiedzią na pytanie zdziwionego czytelnika.
Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum z pytaniami i odpowiedziami.
Zdjęcie dzięki uprzejmości Matthiasa Rippa (Flickr).
Czytnik SuperUser ArunPrasanth chce wiedzieć, jak system Windows wie, że program nie odpowiada:
Jak system Windows wie, czy program nie odpowiada? Czy stale wyszukuje wszystkie uruchomione aplikacje?
Jak system Windows wie, czy programy nie reagują?
Superużytkujący pomocnik ratchet ma dla nas odpowiedź:
Aplikacja pobiera zdarzenia z kolejki udostępnianej przez system Windows. Jeśli aplikacja nie odpytuje kolejki zdarzeń przez pewien czas (5 sekund), na przykład wykonując długie obliczenia, system Windows zakłada, że aplikacja jest zawieszona i powiadamia użytkownika.
Aby tego uniknąć, aplikacje powinny przesuwać drogie kalkulacje do wątków roboczych lub dzielić przetwarzanie i upewnić się, że kolejka jest regularnie odpytywana.
Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.