Każdy, kto korzystał z systemu Windows, widział od czasu do czasu komunikat systemowy informujący, że program nie odpowiada, ale skąd dokładnie system Windows to wie? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na pytanie zdumionego czytelnika.
Dzisiejsza sesja pytań i odpowiedzi jest dostępna dzięki uprzejmości SuperUser - części Stack Exchange, grupy witryn internetowych z pytaniami i odpowiedziami.
Zdjęcie dzięki uprzejmości Matthias Ripp (flickr) .
Pytanie
Czytnik SuperUser ArunPrasanth chce wiedzieć, skąd system Windows wie, że program nie odpowiada:
Skąd system Windows wie, że program nie odpowiada? Czy stale sonduje wszystkie uruchomione aplikacje?
Skąd system Windows wie, że programy nie odpowiadają?
Odpowiedź
SuperUser Contributor Ratchet Freak ma dla nas odpowiedź:
Aplikacja pobiera zdarzenia z kolejki udostępnionej przez system Windows. Jeśli aplikacja nie odpytuje kolejki zdarzeń przez jakiś czas (5 sekund), na przykład wykonując długie obliczenia, system Windows zakłada, że aplikacja jest zawieszona i ostrzega użytkownika.
Aby tego uniknąć, aplikacje powinny przekazywać kosztowne obliczenia do wątków roboczych lub dzielić przetwarzanie i upewnić się, że kolejka jest regularnie odpytywana.
Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych zaawansowanych technicznie użytkowników Stack Exchange? Sprawdź cały wątek dyskusji tutaj .