Każdy, kto korzystał z systemu Windows, od czasu do czasu widział komunikat systemowy informujący, że program nie odpowiada, ale skąd dokładnie system Windows o tym wie? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na pytanie zdezorientowanego czytelnika.
Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser — pododdziału Stack Exchange, społecznościowej 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 odpytuje wszystkie uruchomione aplikacje?
Skąd system Windows wie, że programy nie odpowiadają?
Odpowiedź
Ratchet freak SuperUser ma dla nas odpowiedź:
Aplikacja pobiera zdarzenia z kolejki dostarczonej 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 przesyłać 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 doświadczonych technologicznie użytkowników Stack Exchange? Sprawdź pełny wątek dyskusji tutaj.