ホームページ » の仕方 » Windowsがどのようにプログラムを認識して応答しないのですか?

    Windowsがどのようにプログラムを認識して応答しないのですか?

    Windowsを使用したことのある人なら誰でも、プログラムが応答していないというシステムメッセージを時々見ていますが、Windowsはそれをどのように正確に認識しているのでしょうか。本日のSuperUser Q&Aの投稿には、困った読者の質問に対する答えがあります。.

    本日の質疑応答セッションは、コミュニティ主導のQ&A Webサイトのグループである、Stack Exchangeの下位区分であるSuperUserの好意により提供されます。.

    写真提供:マティアスリップ(Flickr).

    質問

    SuperUserの読者ArunPrasanthは、プログラムが応答していないことをWindowsがどのように認識しているかを知りたいと考えています。

    プログラムが応答していない場合、Windowsはどのようにして認識しますか?実行中のすべてのアプリケーションを常にポーリングしていますか?

    プログラムが応答していない場合、Windowsはどのように認識しますか?

    答え

    SuperUserコントリビュータラチェットフリークは私達のために答えを持っています:

    アプリケーションは、Windowsによって提供されたキューからイベントを取得します。たとえば、長い計算を実行するなど、アプリケーションがしばらく(5秒間)イベントキューをポーリングしない場合、Windowsはアプリケーションがハングアップしていると見なし、ユーザーに警告します。.

    それを回避するには、アプリケーションは高価な計算をワーカースレッドにプッシュするか処理を分割し、キューが定期的にポーリングされるようにする必要があります。.


    説明に追加するものがありますか?コメントで音を消す。他の技術に精通したStack Exchangeユーザーからの回答をもっと読みたいですか?こちらのディスカッションスレッドをチェックしてください。.