Główna » jak » W jaki sposób system Windows wie, że program nie odpowiada?

    W jaki sposób system Windows wie, że program nie odpowiada?

    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, opartego na społecznościach grupowania witryn z pytaniami i odpowiedziami.

    Zdjęcie dzięki uprzejmości Matthiasa Rippa (Flickr).

    Pytanie

    Czytnik SuperUser ArunPrasanth chce wiedzieć, jak system Windows wie, że program nie odpowiada:

    Jak system Windows wie, czy program nie odpowiada? Czy ciągle odpytuje wszystkie uruchomione aplikacje?

    Jak system Windows wie, czy programy nie reagują?

    Odpowiedź

    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 ostrzega użytkownika.

    Aby tego uniknąć, aplikacje powinny przesuwać drogie kalkulacje do wątków roboczych lub dzielenia przetwarzania 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.