スレッドとプロセスには違いがありますか?
パフォーマンス タブにリストされているシステム データの計算を理解しようとしています。
ハンドル: 48097 スレッド: 1602 プロセス: 99 稼働時間: 17:23:02:02 コミット (GB): 3/15
答え1
StackOverflow の回答は非常に抽象的で、OS に依存しないため、運用に関する特定の質問には役に立たないため、Windows 固有の回答を投稿します。
プロセスOS のハードウェアとソフトウェアでアプリケーションをサポートする分離されたメモリ構造です。Windows プロセスには 1 つ以上のスレッドが含まれます。 https://en.wikipedia.org/wiki/Process_%28computing%29
スレッドプロセッサが実行する連続したマシンコード命令のストリームです。割り込みを除いて、CPUがアプリケーションに代わって命令を実行するときはいつでも、スレッドがその命令を含んでいるため実行されます。プロセス内のスレッドは、プロセスメモリにアクセスできます(メモリ要素に対する特定の操作が「スレッドセーフ」であり、矛盾が生じない限り)。同時実行性複数のスレッドが同時に実行されると問題が発生します。アプリケーションは、複数のスレッドを使用して、それぞれが独立したタスクを実行することで、異なるCPUを介して命令ストリームを実行し、操作を高速化できます。実行ユニット(CPU/コア/仮想コア)を同時に実行します。https://en.wikipedia.org/wiki/Thread_%28computing%29
ハンドルファイル、ウィンドウ、メモリ位置などの共有リソースとの論理的な関連付けです。スレッドがファイルを開くと、そのファイルへの「ハンドル」が確立され、内部的にはそのファイルのインスタンスの「名前」のように機能します。ハンドルは、プロセスのメモリ構造の外部にある一時的または環境的なリソースにリンクするために使用されます。ハンドル漏れこれは、極端な場合にはシステムを不安定にする可能性のあるソフトウェアの問題の一種です。これは、プログラムがリソースへのハンドルを要求し、プログラムがリソースの使用を終了したときにそのハンドルの割り当てを解除できないことが原因で発生します。ただし、あなたの数字から判断すると、そこには何も問題はないようです。https://en.wikipedia.org/wiki/Handle_%28computing%29