Chiunque abbia utilizzato Windows ha visto il messaggio di sistema occasionale che afferma che un programma non risponde, ma come fa esattamente Windows a saperlo? Il post di domande e risposte di SuperUser di oggi contiene la risposta alla domanda di un lettore perplesso.
La sessione di domande e risposte di oggi ci arriva per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento guidato dalla comunità di siti web di domande e risposte.
Foto per gentile concessione di Matthias Ripp (Flickr) .
La domanda
Il lettore SuperUser ArunPrasanth vuole sapere come Windows sa che un programma non risponde:
Come fa Windows a sapere se un programma non risponde? Esegue costantemente il polling di tutte le applicazioni in esecuzione?
Come fa Windows a sapere se i programmi non rispondono?
La risposta
Ratchet freak, collaboratore di SuperUser, ha la risposta per noi:
Un'applicazione riceve gli eventi da una coda fornita da Windows. Se l'applicazione non esegue il polling della coda degli eventi per un po '(5 secondi), ad esempio eseguendo un lungo calcolo, Windows presume che l'applicazione sia bloccata e avvisa l'utente.
Per evitare ciò, le applicazioni dovrebbero inviare calcoli costosi ai thread di lavoro o suddividere l'elaborazione e assicurarsi che la coda venga interrogata regolarmente.
Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere altre risposte da altri utenti esperti di tecnologia Stack Exchange? Dai un'occhiata al thread di discussione completo qui .