Домашня » як » Як програма Windows знає, що програма не відповідає?

    Як програма Windows знає, що програма не відповідає?

    Кожен, хто використовував Windows, бачив випадкове системне повідомлення про те, що програма не відповідає, але як саме це знає Windows? Сьогоднішня стаття SuperUser Q&A відповідає на запитання читача.

    Сьогоднішня сесія запитань та відповідей приходить до нас люб'язно SuperUser - підрозділ Stack Exchange, групування веб-сайтів із запитаннями та відповідями на рівні спільноти..

    Фото надано Маттіасом Ріппом (Flickr).

    Питання

    Читач SuperUser ArunPrasanth хоче знати, як Windows знає, що програма не відповідає:

    Як Windows знає, чи не реагує програма? Чи постійно він опитує всі запущені програми?

    Як Windows знає, чи не реагують програми?

    Відповідь

    Суперпопулярний учасник храповика має відповідь для нас:

    Програма отримує події з черги, що надається Windows. Якщо програма не проводить опитування черги подій протягом деякого часу (наприклад, 5 секунд), наприклад, довгий розрахунок, то Windows припускає, що програма зависла і сповіщає користувача.

    Щоб уникнути цього, програми повинні підштовхнути дорогі обчислення до робочих потоків або розділити обробку і переконатися, що чергу отримують регулярно.


    Маєте щось додати до пояснення? Звучить в коментарях. Хочете прочитати більше відповідей від інших технологічних користувачів Stack Exchange? Перегляньте повний потік обговорення тут.