私はスレッドとプロセスの違いについて読んでいましたが、文字通りオンラインのどこでも、1つの違いはあまり説明なしで一般的に書かれています:
プロセスがブロックされた場合、残りのプロセスは実行を継続できます。ユーザー レベルのスレッドがブロックされると、そのピア スレッドもすべてブロックされます。
私には意味がありません。スケジューラがブロックされたスレッドと準備完了/実行可能なスレッドを切り替えることができない場合、同時実行の意味は何でしょうか。与えられた理由は、OS は特定の親プロセスのさまざまなスレッドを区別しないため、それらすべてを一度にブロックするためです。
親プロセスのメモリ空間内でのみ有効であっても、最近のすべての OS にはスレッド ID を持つスレッド制御ブロックがあるため、非常に説得力がないと思います。Galvin のオペレーティング システムの本にある例のように、スペル チェック スレッドが何らかのオンライン辞書に接続できない場合に、入力を処理しているスレッドをブロックしたくありません。
私がこの概念を間違って理解しているか、これらの Web サイトはすべて、何年にもわたって古いスレッドの違いをコピーしただけです。さらに、Galvin のような本や、スレッドが議論されている William Stalling の COA の本には、この声明を見つけることができません。
これらは、ステートメントを見つけたリソースです。