2011-12-05 9 views
3

私はスレッディングを勉強しています。私はちょっと混乱しています。ProcessThreadクラスとThreadクラスの実際の違いは、どちらのシナリオでどのシナリオを使用するのか、なぜですか?.netのThreadクラスとProcessThreadクラスの違いは?

すべての記事が役立ちます!

+2

紛らわしいドキュメントは何ですか? – Oded

+0

似たような質問http://stackoverflow.com/questions/2946111/currentthread-processthread-objects – oleksii

答えて

12

ProcessThreadはむしろプロセスのスレッド上のスレッド情報クラスです。あなたはそれを開始、停止、または中止することはできません。スレッド上の情報です。

スレッドクラスは、マルチスレッドアプリケーションで使用される(またはTPLよりも前に使用された)スレッドクラスです。

+0

それで、C#言語の作家でさえ、異なる名前空間を選んだのです。 ProcessThreadクラスはSystem.Diagnostics(デバッグと情報目的のため)ネームスペースにあり、ThreadクラスはSystem.Threading(実際のマルチスレッド作業用)ネームスペースにあります。 ProcessThreadクラスは、.NETフレームワークが単にCLRの範囲で使用するための抽象化を作成する基礎となるウィンドウスレッドに関するより重要な情報を提供します。 – RBT

1

ProcessThreadクラスは、現在システムで実行されているスレッドに関する情報を取得するために使用されます。それらの間に直接的な違いはありません。

3

ProcessThreadは、スレッドクラスが.Netフレームワークスレッドを記述するオペレーティングシステム(OS)スレッドを記述します。現在、.NETスレッドはOSスレッドを使用して実装されていますが、.NETの将来のリリースや他のプラットフォームのフレームワークには含まれていない可能性があります。

多くの場合、アプリケーションには作成したスレッドよりも多くのスレッドが含まれていることがあります。これらの余分なスレッドはしばしば.Netスレッドではありません。

関連する問題